--- /dev/null
+/*!
+ * This source file is part of the Swift.org open source project
+ *
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ *
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */[data-v-20945666] .code-listing{background:var(--background,var(--color-code-background));color:var(--text,var(--color-code-plain));border-color:var(--colors-grid,var(--color-grid));border-width:var(--code-border-width,1px);border-style:var(--code-border-style,solid)}[data-v-20945666] .code-listing pre{padding:var(--code-block-style-elements-padding)}[data-v-20945666] .code-listing pre>code{font-size:.88235rem;line-height:1.66667;font-weight:400;font-family:var(--typography-html-font-mono,Menlo,monospace)}[data-v-20945666] *+.code-listing,[data-v-20945666] *+.endpoint-example,[data-v-20945666] *+.inline-image-container,[data-v-20945666] *+aside,[data-v-20945666] *+figure,[data-v-20945666] .code-listing+*,[data-v-20945666] .endpoint-example+*,[data-v-20945666] .inline-image-container+*,[data-v-20945666] aside+*,[data-v-20945666] figure+*{margin-top:var(--spacing-stacked-margin-xlarge)}[data-v-20945666] *+dl,[data-v-20945666] dl+*{margin-top:var(--spacing-stacked-margin-large)}[data-v-20945666] img{display:block;margin:auto;max-width:100%}[data-v-20945666] ol,[data-v-20945666] ol li:not(:first-child),[data-v-20945666] ul,[data-v-20945666] ul li:not(:first-child){margin-top:var(--spacing-stacked-margin-large)}@media only screen and (max-width:735px){[data-v-20945666] ol,[data-v-20945666] ul{margin-left:1.25rem}}[data-v-20945666] dt:not(:first-child){margin-top:var(--spacing-stacked-margin-large)}[data-v-20945666] dd{margin-left:2em}.badge[data-v-8d6893ae]{--badge-color:var(--color-badge-default);--badge-dark-color:var(--color-badge-dark-default);font-size:.70588rem;line-height:1.33333;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);display:inline-block;padding:2px 10px;white-space:nowrap;background:none;border-radius:var(--badge-border-radius,calc(var(--border-radius, 4px) - 1px));border-style:var(--badge-border-style,solid);border-width:var(--badge-border-width,1px);margin-left:10px;color:var(--badge-color)}.theme-dark .badge[data-v-8d6893ae]{--badge-color:var(--badge-dark-color)}.badge-deprecated[data-v-8d6893ae]{--badge-color:var(--color-badge-deprecated);--badge-dark-color:var(--color-badge-dark-deprecated)}.badge-beta[data-v-8d6893ae]{--badge-color:var(--color-badge-beta);--badge-dark-color:var(--color-badge-dark-beta)}.topic-icon-wrapper[data-v-03cf3183]{display:flex;align-items:center;justify-content:center;height:1.47059rem;flex:0 0 1.294rem;width:1.294rem;margin-right:1rem}.topic-icon[data-v-03cf3183]{height:.88235rem;transform:scale(1);-webkit-transform:scale(1);overflow:visible}.topic-icon[data-v-03cf3183] img{margin:0;display:block;width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.topic-icon.curly-brackets-icon[data-v-03cf3183]{height:1rem}.token-method[data-v-3fd63d6c]{font-weight:700}.token-keyword[data-v-3fd63d6c]{color:var(--syntax-keyword,var(--color-syntax-keywords))}.token-number[data-v-3fd63d6c]{color:var(--syntax-number,var(--color-syntax-numbers))}.token-string[data-v-3fd63d6c]{color:var(--syntax-string,var(--color-syntax-strings))}.attribute-link[data-v-3fd63d6c],.token-attribute[data-v-3fd63d6c]{color:var(--syntax-attribute,var(--color-syntax-keywords))}.token-internalParam[data-v-3fd63d6c]{color:var(--color-syntax-param-internal-name)}.type-identifier-link[data-v-3fd63d6c]{color:var(--syntax-type,var(--color-syntax-other-type-names))}.token-removed[data-v-3fd63d6c]{background-color:var(--color-highlight-red)}.token-added[data-v-3fd63d6c]{background-color:var(--color-highlight-green)}.decorator[data-v-06ec7395],.label[data-v-06ec7395]{color:var(--colors-secondary-label,var(--color-secondary-label))}.label[data-v-06ec7395]{font-size:1rem;line-height:1.47059;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}.empty-token[data-v-06ec7395]{font-size:0}.empty-token[data-v-06ec7395]:after{content:"\00a0";font-size:1rem}.conditional-constraints[data-v-1548fd90] code{color:var(--colors-secondary-label,var(--color-secondary-label))}.abstract[data-v-52205924],.link-block[data-v-52205924] .badge{margin-left:2.294rem}.link-block .badge+.badge[data-v-52205924]{margin-left:1rem}.link[data-v-52205924]{display:flex}.link-block .badge[data-v-52205924]{margin-top:.5rem}.link-block.has-inline-element[data-v-52205924]{display:flex;align-items:flex-start;flex-flow:row wrap}.link-block.has-inline-element .badge[data-v-52205924]{margin-left:1rem;margin-top:0}.link-block .has-adjacent-elements[data-v-52205924]{padding-top:5px;padding-bottom:5px;display:inline-flex}.link-block[data-v-52205924],.link[data-v-52205924]{box-sizing:inherit}.link-block.changed[data-v-52205924],.link.changed[data-v-52205924]{padding-right:1rem;padding-left:2.17647rem;padding-top:8px;padding-bottom:8px;display:inline-flex;width:100%;box-sizing:border-box}.link-block.changed.changed[data-v-52205924],.link.changed.changed[data-v-52205924]{padding-right:1rem}@media only screen and (max-width:735px){.link-block.changed[data-v-52205924],.link.changed[data-v-52205924]{padding-left:0;padding-right:0}.link-block.changed.changed[data-v-52205924],.link.changed.changed[data-v-52205924]{padding-right:17px;padding-left:2.17647rem}}@media only screen and (max-width:735px){.link-block.changed[data-v-52205924],.link.changed[data-v-52205924]{padding-left:0;padding-right:0}}.abstract .topic-required[data-v-52205924]:not(:first-child){margin-top:4px}.topic-required[data-v-52205924]{font-size:.8em}.deprecated[data-v-52205924]{text-decoration:line-through}.conditional-constraints[data-v-52205924]{font-size:.82353rem;margin-top:4px}
\ No newline at end of file
--- /dev/null
+/*!
+ * This source file is part of the Swift.org open source project
+ *
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ *
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */.betainfo[data-v-e8fd2a92]{font-size:.94118rem;padding:3rem 0;background-color:var(--color-fill-secondary)}.full-width-container .betainfo-container[data-v-e8fd2a92]{max-width:820px;margin-left:auto;margin-right:auto;padding-left:80px;padding-right:80px;box-sizing:border-box}@media print{.full-width-container .betainfo-container[data-v-e8fd2a92]{padding-left:20px;padding-right:20px;max-width:none}}@media only screen and (min-width:1251px){.full-width-container .betainfo-container[data-v-e8fd2a92]{max-width:980px}}@media only screen and (min-width:1500px){.full-width-container .betainfo-container[data-v-e8fd2a92]{max-width:1080px}}@media only screen and (max-width:735px){.full-width-container .betainfo-container[data-v-e8fd2a92]{width:auto;padding-left:20px;padding-right:20px}}.static-width-container .betainfo-container[data-v-e8fd2a92]{margin-left:auto;margin-right:auto;width:980px}@media only screen and (max-width:1250px){.static-width-container .betainfo-container[data-v-e8fd2a92]{width:692px}}@media only screen and (max-width:735px){.static-width-container .betainfo-container[data-v-e8fd2a92]{width:87.5%}}@media only screen and (max-width:320px){.static-width-container .betainfo-container[data-v-e8fd2a92]{width:215px}}.betainfo-label[data-v-e8fd2a92]{font-weight:600;font-size:.94118rem}.betainfo-content[data-v-e8fd2a92] p{margin-bottom:10px}.summary-section[data-v-3aa6f694]:last-of-type{margin-right:0}@media only screen and (max-width:735px){.summary-section[data-v-3aa6f694]{margin-right:0}}.title[data-v-6796f6ea]{color:#fff;font-size:.82353rem;margin-right:.5rem;text-rendering:optimizeLegibility}.documentation-hero--disabled .title[data-v-6796f6ea]{color:var(--colors-text,var(--color-text))}.language[data-v-1a36493d]{padding-bottom:10px;justify-content:flex-end}.language-list[data-v-1a36493d],.language[data-v-1a36493d]{font-size:.82353rem;line-height:1.42857;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);margin-top:0;display:flex;align-items:center}.language-option.swift[data-v-1a36493d]{padding-right:10px;border-right:1px solid var(--color-fill-gray-tertiary)}.language-option.objc[data-v-1a36493d]{padding-left:10px}.language-option.active[data-v-1a36493d],.language-option.router-link-exact-active[data-v-1a36493d]{color:#ccc}.documentation-hero--disabled .language-option.active[data-v-1a36493d],.documentation-hero--disabled .language-option.router-link-exact-active[data-v-1a36493d]{color:var(--colors-secondary-label,var(--color-secondary-label))}.view-more-link[data-v-0d14b62a]{font-size:.82353rem;line-height:1.28571;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);display:flex;flex-flow:row-reverse;margin-bottom:1.3rem}.documentation-hero[data-v-6540c364]{background:#000;color:var(--color-documentation-intro-figure,#fff);overflow:hidden;text-align:left;position:relative;padding-right:var(--doc-hero-right-offset)}.documentation-hero[data-v-6540c364]:before{content:"";background:var(--standard-accent-color,var(--color-documentation-intro-fill,#2a2a2a));position:absolute;width:100%;left:0;top:-50%;height:150%;right:0}.documentation-hero[data-v-6540c364]:after{background:transparent;opacity:.7;width:100%;position:absolute;content:"";height:100%;left:0;top:0}.documentation-hero .icon[data-v-6540c364]{position:absolute;margin-top:10px;margin-right:25px;right:0;width:250px;height:calc(100% - 20px);box-sizing:border-box}@media only screen and (max-width:735px){.documentation-hero .icon[data-v-6540c364]{display:none}}.documentation-hero .background-icon[data-v-6540c364]{color:var(--color-documentation-intro-accent,#161616);display:block;width:250px;height:auto;opacity:1;position:absolute;top:50%;left:0;transform:translateY(-50%);max-height:100%}.documentation-hero .background-icon[data-v-6540c364] img,.documentation-hero .background-icon[data-v-6540c364] svg{width:100%;height:100%}.documentation-hero__content[data-v-6540c364]:not(.minimized-hero){padding-top:2.35294rem;padding-bottom:40px;position:relative;z-index:1}.full-width-container .documentation-hero__content[data-v-6540c364]:not(.minimized-hero){max-width:820px;margin-left:auto;margin-right:auto;padding-left:80px;padding-right:80px;box-sizing:border-box}@media print{.full-width-container .documentation-hero__content[data-v-6540c364]:not(.minimized-hero){padding-left:20px;padding-right:20px;max-width:none}}@media only screen and (min-width:1251px){.full-width-container .documentation-hero__content[data-v-6540c364]:not(.minimized-hero){max-width:980px}}@media only screen and (min-width:1500px){.full-width-container .documentation-hero__content[data-v-6540c364]:not(.minimized-hero){max-width:1080px}}@media only screen and (max-width:735px){.full-width-container .documentation-hero__content[data-v-6540c364]:not(.minimized-hero){width:auto;padding-left:20px;padding-right:20px}}.static-width-container .documentation-hero__content[data-v-6540c364]:not(.minimized-hero){margin-left:auto;margin-right:auto;width:980px}@media only screen and (max-width:1250px){.static-width-container .documentation-hero__content[data-v-6540c364]:not(.minimized-hero){width:692px}}@media only screen and (max-width:735px){.static-width-container .documentation-hero__content[data-v-6540c364]:not(.minimized-hero){width:87.5%}}@media only screen and (max-width:320px){.static-width-container .documentation-hero__content[data-v-6540c364]:not(.minimized-hero){width:215px}}.documentation-hero .minimized-hero[data-v-6540c364]{padding:1.3em 1.4em;position:relative;z-index:1}.documentation-hero__above-content[data-v-6540c364]{position:relative;z-index:1}.documentation-hero--disabled[data-v-6540c364]{background:none;color:var(--colors-text,var(--color-text))}.documentation-hero--disabled[data-v-6540c364]:after,.documentation-hero--disabled[data-v-6540c364]:before{content:none}.short-hero[data-v-6540c364]{padding-top:3.52941rem;padding-bottom:3.52941rem}.extra-bottom-padding[data-v-6540c364]{padding-bottom:3.82353rem}.theme-dark[data-v-6540c364] a:not(.button-cta){color:#09f}ul[data-v-068842ec]{list-style-type:none;margin:0}ul li:first-child .base-link[data-v-068842ec]{margin-top:0}.parent-item .base-link[data-v-068842ec]{font-weight:700}.base-link[data-v-068842ec]{color:var(--color-figure-gray-secondary);font-size:.82353rem;line-height:1.28571;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);display:inline-block;margin:5px 0;transition:color .15s ease-in;max-width:100%}.active .base-link[data-v-068842ec]{color:var(--color-text)}.source[data-v-d22a3f50]{background:var(--background,var(--color-code-background));border-color:var(--color-grid);color:var(--text,var(--color-code-plain));border-style:solid;border-width:1px;padding:var(--code-block-style-elements-padding);speak:literal-punctuation;line-height:25px;filter:blur(0)}.source.displays-multiple-lines[data-v-d22a3f50],.source[data-v-d22a3f50]{border-radius:var(--border-radius,4px)}.source>code[data-v-d22a3f50]{font-size:.88235rem;line-height:1.66667;font-weight:400;font-family:var(--typography-html-font-mono,Menlo,monospace);display:block}.platforms[data-v-4f51d8d2]{font-size:.82353rem;line-height:1.42857;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);margin-bottom:.45rem;margin-top:var(--spacing-stacked-margin-xlarge)}.changed .platforms[data-v-4f51d8d2]{padding-left:.588rem}.platforms[data-v-4f51d8d2]:first-of-type{margin-top:1rem}.source[data-v-4f51d8d2]{margin:var(--declaration-code-listing-margin)}.platforms+.source[data-v-4f51d8d2]{margin:0}.changed.declaration-group[data-v-4f51d8d2]{background:var(--background,var(--color-code-background))}.changed .source[data-v-4f51d8d2]{background:none;border:none;margin-top:0;margin-bottom:0;margin-left:2.17647rem;padding-left:0}.declaration-diff[data-v-b3e21c4a]{background:var(--background,var(--color-code-background))}.declaration-diff-version[data-v-b3e21c4a]{padding-left:.588rem;padding-left:2.17647rem;font-size:1rem;line-height:1.52941;font-weight:600;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);color:var(--color-figure-gray-secondary);margin:0}.declaration-diff-current[data-v-b3e21c4a]{padding-top:8px;padding-bottom:5px}.declaration-diff-previous[data-v-b3e21c4a]{padding-top:5px;padding-bottom:8px;background-color:var(--color-changes-modified-previous-background);border-radius:0 0 var(--border-radius,4px) var(--border-radius,4px);position:relative}.declaration-source-link[data-v-5863919c]{font-size:.82353rem;line-height:1.28571;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);display:flex;align-items:center;margin-top:var(--declaration-source-link-margin,var(--spacing-stacked-margin-large))}.declaration-icon[data-v-5863919c]{width:1em;margin-right:5px}.conditional-constraints[data-v-2ab6251b]{margin-top:var(--declaration-conditional-constraints-margin,20px)}.abstract[data-v-702ec04e]{font-size:1.23529rem;line-height:1.38095;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}@media only screen and (max-width:735px){.abstract[data-v-702ec04e]{font-size:1.11765rem;line-height:1.42105;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}[data-v-702ec04e] p:last-child{margin-bottom:0}.container[data-v-6e075935]{padding-bottom:40px}.full-width-container .container[data-v-6e075935]{max-width:820px;margin-left:auto;margin-right:auto;padding-left:80px;padding-right:80px;box-sizing:border-box}@media print{.full-width-container .container[data-v-6e075935]{padding-left:20px;padding-right:20px;max-width:none}}@media only screen and (min-width:1251px){.full-width-container .container[data-v-6e075935]{max-width:980px}}@media only screen and (min-width:1500px){.full-width-container .container[data-v-6e075935]{max-width:1080px}}@media only screen and (max-width:735px){.full-width-container .container[data-v-6e075935]{width:auto;padding-left:20px;padding-right:20px}}.static-width-container .container[data-v-6e075935]{margin-left:auto;margin-right:auto;width:980px}@media only screen and (max-width:1250px){.static-width-container .container[data-v-6e075935]{width:692px}}@media only screen and (max-width:735px){.static-width-container .container[data-v-6e075935]{width:87.5%}}@media only screen and (max-width:320px){.static-width-container .container[data-v-6e075935]{width:215px}}.title[data-v-6e075935]{font-size:1.88235rem;line-height:1.125;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);padding-top:40px;border-top-color:var(--color-grid);border-top-style:solid;border-top-width:var(--content-table-title-border-width,1px)}@media only screen and (max-width:1250px){.title[data-v-6e075935]{font-size:1.64706rem;line-height:1.14286;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}@media only screen and (max-width:735px){.title[data-v-6e075935]{font-size:1.41176rem;line-height:1.16667;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}.title+.contenttable-section[data-v-4aae1079]{margin-top:0}.contenttable-section[data-v-4aae1079]{align-items:baseline;padding-top:2.353rem}.contenttable-section[data-v-4aae1079]:last-child{margin-bottom:0}[data-v-4aae1079] .contenttable-title{font-size:1.41176rem;line-height:1.16667;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}@media only screen and (max-width:1250px){[data-v-4aae1079] .contenttable-title{font-size:1.23529rem;line-height:1.19048;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}@media only screen and (max-width:735px){.contenttable-section[data-v-4aae1079]{align-items:unset;border-top:none;display:inherit;margin:0}.section-content[data-v-4aae1079],.section-title[data-v-4aae1079]{padding:0}[data-v-4aae1079] .contenttable-title{margin:0 0 2.353rem 0;padding-bottom:.5rem}}.section-content>.content[data-v-3ccf02e9],.topic[data-v-3ccf02e9]{margin-top:15px}.no-title .section-content>.content[data-v-3ccf02e9]:first-child,.no-title .topic[data-v-3ccf02e9]:first-child{margin-top:0}.datalist dd{padding-left:2rem}.datalist dt{font-weight:600;padding-left:1rem;padding-top:var(--spacing-param)}.datalist dt:first-of-type{padding-top:0}.type[data-v-791bac44]:first-letter{text-transform:capitalize}.detail-type[data-v-d66cd00c]{font-weight:600;padding-left:1rem;padding-top:var(--spacing-param)}.detail-type[data-v-d66cd00c]:first-child{padding-top:0}@media only screen and (max-width:735px){.detail-type[data-v-d66cd00c]{padding-left:0}}.detail-content[data-v-d66cd00c]{padding-left:2rem}@media only screen and (max-width:735px){.detail-content[data-v-d66cd00c]{padding-left:0}}.param-name[data-v-53cac581]{font-weight:600;padding-left:1rem;padding-top:var(--spacing-param)}.param-name[data-v-53cac581]:first-child{padding-top:0}@media only screen and (max-width:735px){.param-name[data-v-53cac581]{padding-left:0}}.param-content[data-v-53cac581]{padding-left:2rem}@media only screen and (max-width:735px){.param-content[data-v-53cac581]{padding-left:0}}.param-content[data-v-53cac581] dt{font-weight:600}.param-content[data-v-53cac581] dd{margin-left:1em}.parameters-table[data-v-3f89f723] .change-added,.parameters-table[data-v-3f89f723] .change-removed{display:inline-block;max-width:100%}.parameters-table[data-v-3f89f723] .change-removed,.parameters-table[data-v-3f89f723] .token-removed{text-decoration:line-through}.param[data-v-3f89f723]{font-size:.88235rem;box-sizing:border-box}.param.changed[data-v-3f89f723]{display:flex;flex-flow:row wrap;padding-right:1rem;padding-left:2.17647rem;padding-top:8px;padding-bottom:8px;display:inline-flex;width:100%;box-sizing:border-box}.param.changed.changed[data-v-3f89f723]{padding-right:1rem}@media only screen and (max-width:735px){.param.changed[data-v-3f89f723]{padding-left:0;padding-right:0}.param.changed.changed[data-v-3f89f723]{padding-right:17px;padding-left:2.17647rem}}@media only screen and (max-width:735px){.param.changed[data-v-3f89f723]{padding-left:0;padding-right:0}}.param.changed.changed[data-v-3f89f723]{padding-left:0;padding-right:0}.param.changed+.param.changed[data-v-3f89f723]{margin-top:calc(var(--spacing-param)/2)}.changed .param-content[data-v-3f89f723],.changed .param-symbol[data-v-3f89f723]{padding-top:2px;padding-bottom:2px}@media only screen and (max-width:735px){.changed .param-content[data-v-3f89f723]{padding-top:0}.changed .param-symbol[data-v-3f89f723]{padding-bottom:0}}.param-symbol[data-v-3f89f723]{text-align:right}.changed .param-symbol[data-v-3f89f723]{padding-left:2.17647rem}@media only screen and (max-width:735px){.param-symbol[data-v-3f89f723]{text-align:left}.changed .param-symbol[data-v-3f89f723]{padding-left:0}}.param-symbol[data-v-3f89f723] .type-identifier-link{color:var(--color-link)}.param+.param[data-v-3f89f723]{margin-top:var(--spacing-param)}.param+.param[data-v-3f89f723]:first-child{margin-top:0}.param-content[data-v-3f89f723]{padding-left:1rem;padding-left:2.17647rem}.changed .param-content[data-v-3f89f723]{padding-right:1rem}@media only screen and (max-width:735px){.param-content[data-v-3f89f723]{padding-left:0;padding-right:0}}.property-metadata[data-v-8590589e]{color:var(--color-figure-gray-secondary)}.property-text{font-weight:700}.property-metadata[data-v-0a648a1e]{color:var(--color-figure-gray-secondary)}.property-name[data-v-310f0b2c]{font-weight:700}.property-name.deprecated[data-v-310f0b2c]{text-decoration:line-through}.property-deprecated[data-v-310f0b2c]{margin-left:0}.content[data-v-310f0b2c],.content[data-v-310f0b2c] p:first-child{display:inline}.response-mimetype[data-v-20293786]{color:var(--color-figure-gray-secondary)}.part-name[data-v-021cd63d]{font-weight:700}.content[data-v-021cd63d],.content[data-v-021cd63d] p:first-child{display:inline}.param-name[data-v-03478142]{font-weight:700}.param-name.deprecated[data-v-03478142]{text-decoration:line-through}.param-deprecated[data-v-03478142]{margin-left:0}.content[data-v-03478142],.content[data-v-03478142] p:first-child{display:inline}.response-name[data-v-881189f4],.response-reason[data-v-881189f4]{font-weight:700}@media only screen and (max-width:735px){.response-reason[data-v-881189f4]{display:none}}.response-name>code>.reason[data-v-881189f4]{display:none}@media only screen and (max-width:735px){.response-name>code>.reason[data-v-881189f4]{display:initial}}.primary-content.with-border[data-v-2baae7e0]:before{border-top-color:var(--colors-grid,var(--color-grid));border-top-style:solid;border-top-width:1px;content:"";display:block}.primary-content[data-v-2baae7e0]>*{margin-bottom:40px;margin-top:40px}.primary-content[data-v-2baae7e0]>:first-child{margin-top:2.353rem}.relationships-list[data-v-4c67b8c7]{list-style:none}.relationships-list.column[data-v-4c67b8c7]{margin-left:0;margin-top:15px}.relationships-list.inline[data-v-4c67b8c7]{display:flex;flex-direction:row;flex-wrap:wrap;margin-top:15px;margin-left:0}.relationships-list.inline li[data-v-4c67b8c7]:not(:last-child):after{content:",\00a0"}.relationships-list.changed[data-v-4c67b8c7]{padding-right:1rem;padding-left:2.17647rem;padding-top:8px;padding-bottom:8px;display:inline-flex;width:100%;box-sizing:border-box}.relationships-list.changed.changed[data-v-4c67b8c7]{padding-right:1rem}@media only screen and (max-width:735px){.relationships-list.changed[data-v-4c67b8c7]{padding-left:0;padding-right:0}.relationships-list.changed.changed[data-v-4c67b8c7]{padding-right:17px;padding-left:2.17647rem}}@media only screen and (max-width:735px){.relationships-list.changed[data-v-4c67b8c7]{padding-left:0;padding-right:0}}.relationships-list.changed[data-v-4c67b8c7]:after{margin-top:.61765rem}.relationships-list.changed.column[data-v-4c67b8c7]{display:block;box-sizing:border-box}.relationships-item[data-v-4c67b8c7],.relationships-list[data-v-4c67b8c7]{box-sizing:inherit}.conditional-constraints[data-v-4c67b8c7]{font-size:.82353rem;margin:.17647rem 0 .58824rem 1.17647rem}.availability[data-v-602d8130]{display:flex;flex-flow:row wrap;gap:10px;margin-top:25px}.badge[data-v-602d8130]{margin:0}.technology[data-v-602d8130]{display:inline-flex;align-items:center}.tech-icon[data-v-602d8130]{height:12px;padding-right:5px;fill:var(--badge-color)}.theme-dark .tech-icon[data-v-602d8130]{fill:var(--badge-color)}.beta[data-v-602d8130]{color:var(--color-badge-beta)}.theme-dark .beta[data-v-602d8130]{color:var(--color-badge-dark-beta)}.deprecated[data-v-602d8130]{color:var(--color-badge-deprecated)}.theme-dark .deprecated[data-v-602d8130]{color:var(--color-badge-dark-deprecated)}.changed[data-v-602d8130]{padding-left:26px}.changed[data-v-602d8130]:after{content:none}.changed[data-v-602d8130]:before{background-image:url(../img/modified-icon.f496e73d.svg);background-repeat:no-repeat;bottom:0;content:" ";margin:auto;margin-right:8px;position:absolute;top:0;width:16px;height:16px;left:5px}@media screen{[data-color-scheme=dark] .changed[data-v-602d8130]:before{background-image:url(../img/modified-icon.f496e73d.svg)}}@media screen and (prefers-color-scheme:dark){[data-color-scheme=auto] .changed[data-v-602d8130]:before{background-image:url(../img/modified-icon.f496e73d.svg)}}.theme-dark .changed[data-v-602d8130]:before{background-image:url(../img/modified-icon.f496e73d.svg)}.changed-added[data-v-602d8130]{border-color:var(--color-changes-added)}.changed-added[data-v-602d8130]:before{background-image:url(../img/added-icon.d6f7e47d.svg)}@media screen{[data-color-scheme=dark] .changed-added[data-v-602d8130]:before{background-image:url(../img/added-icon.d6f7e47d.svg)}}@media screen and (prefers-color-scheme:dark){[data-color-scheme=auto] .changed-added[data-v-602d8130]:before{background-image:url(../img/added-icon.d6f7e47d.svg)}}.theme-dark .changed-added[data-v-602d8130]:before{background-image:url(../img/added-icon.d6f7e47d.svg)}.changed-deprecated[data-v-602d8130]{border-color:var(--color-changes-deprecated)}.changed-deprecated[data-v-602d8130]:before{background-image:url(../img/deprecated-icon.015b4f17.svg)}@media screen{[data-color-scheme=dark] .changed-deprecated[data-v-602d8130]:before{background-image:url(../img/deprecated-icon.015b4f17.svg)}}@media screen and (prefers-color-scheme:dark){[data-color-scheme=auto] .changed-deprecated[data-v-602d8130]:before{background-image:url(../img/deprecated-icon.015b4f17.svg)}}.theme-dark .changed-deprecated[data-v-602d8130]:before{background-image:url(../img/deprecated-icon.015b4f17.svg)}.changed-modified[data-v-602d8130]{border-color:var(--color-changes-modified)}.eyebrow[data-v-4492c658]{font-size:1.23529rem;line-height:1.19048;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);color:var(--color-documentation-intro-eyebrow,#ccc);display:block;margin-bottom:1.17647rem}@media only screen and (max-width:735px){.eyebrow[data-v-4492c658]{font-size:1.11765rem;line-height:1.21053;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}.documentation-hero--disabled .eyebrow[data-v-4492c658]{color:var(--colors-secondary-label,var(--color-secondary-label))}.title[data-v-4492c658]{font-size:2.35294rem;line-height:1.1;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);color:var(--color-documentation-intro-title,#fff);margin-bottom:.70588rem}@media only screen and (max-width:1250px){.title[data-v-4492c658]{font-size:1.88235rem;line-height:1.125;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}@media only screen and (max-width:735px){.title[data-v-4492c658]{font-size:1.64706rem;line-height:1.14286;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}.documentation-hero--disabled .title[data-v-4492c658]{color:var(--colors-header-text,var(--color-header-text))}small[data-v-4492c658]{font-size:1.41176rem;line-height:1.16667;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);padding-left:10px}@media only screen and (max-width:1250px){small[data-v-4492c658]{font-size:1.23529rem;line-height:1.19048;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}small[data-v-4492c658]:before{content:attr(data-tag-name)}small.Beta[data-v-4492c658]{color:var(--color-badge-beta)}.theme-dark small.Beta[data-v-4492c658]{color:var(--color-badge-dark-beta)}small.Deprecated[data-v-4492c658]{color:var(--color-badge-deprecated)}.theme-dark small.Deprecated[data-v-4492c658]{color:var(--color-badge-dark-deprecated)}.OnThisPageStickyContainer[data-v-1b6d0048]{margin-top:2.353rem;position:sticky;top:3.82353rem;align-self:flex-start;flex:0 0 auto;width:192px;padding-right:1.29412rem;box-sizing:border-box;padding-bottom:var(--spacing-stacked-margin-small);max-height:calc(100vh - 3.82353rem);overflow:auto}@media print{.OnThisPageStickyContainer[data-v-1b6d0048]{display:none}}@media only screen and (max-width:735px){.OnThisPageStickyContainer[data-v-1b6d0048]{display:none}}.doc-topic[data-v-43c74ad0]{display:flex;flex-direction:column;height:100%}.doc-topic.with-on-this-page[data-v-43c74ad0]{--doc-hero-right-offset:192px}#main[data-v-43c74ad0]{outline-style:none;height:100%}[data-v-43c74ad0] .minimized-title{margin-bottom:.833rem}[data-v-43c74ad0] .minimized-title .title{font-size:1.416rem;font-weight:700}[data-v-43c74ad0] .minimized-title small{font-size:1rem;padding-left:.416rem}.minimized-abstract[data-v-43c74ad0]{font-size:1rem;line-height:1.47059;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}.container[data-v-43c74ad0]:not(.minimized-container){outline-style:none}.full-width-container .container[data-v-43c74ad0]:not(.minimized-container){max-width:820px;margin-left:auto;margin-right:auto;padding-left:80px;padding-right:80px;box-sizing:border-box}@media print{.full-width-container .container[data-v-43c74ad0]:not(.minimized-container){padding-left:20px;padding-right:20px;max-width:none}}@media only screen and (min-width:1251px){.full-width-container .container[data-v-43c74ad0]:not(.minimized-container){max-width:980px}}@media only screen and (min-width:1500px){.full-width-container .container[data-v-43c74ad0]:not(.minimized-container){max-width:1080px}}@media only screen and (max-width:735px){.full-width-container .container[data-v-43c74ad0]:not(.minimized-container){width:auto;padding-left:20px;padding-right:20px}}.static-width-container .container[data-v-43c74ad0]:not(.minimized-container){margin-left:auto;margin-right:auto;width:980px}@media only screen and (max-width:1250px){.static-width-container .container[data-v-43c74ad0]:not(.minimized-container){width:692px}}@media only screen and (max-width:735px){.static-width-container .container[data-v-43c74ad0]:not(.minimized-container){width:87.5%}}@media only screen and (max-width:320px){.static-width-container .container[data-v-43c74ad0]:not(.minimized-container){width:215px}}[data-v-43c74ad0] .minimized-container{outline-style:none;--spacing-stacked-margin-large:0.667em;--spacing-stacked-margin-xlarge:1em;--declaration-code-listing-margin:1em 0 0 0;--declaration-conditional-constraints-margin:1em;--declaration-source-link-margin:0.833em;--code-block-style-elements-padding:7px 12px;--spacing-param:var(--spacing-stacked-margin-large);--aside-border-radius:6px;--code-border-radius:6px}[data-v-43c74ad0] .minimized-container .description{margin-bottom:1.5em}[data-v-43c74ad0] .minimized-container>.primary-content>*{margin-top:1.5em;margin-bottom:1.5em}[data-v-43c74ad0] .minimized-container .description{margin-top:0}[data-v-43c74ad0] .minimized-container h1,[data-v-43c74ad0] .minimized-container h2,[data-v-43c74ad0] .minimized-container h3,[data-v-43c74ad0] .minimized-container h4,[data-v-43c74ad0] .minimized-container h5,[data-v-43c74ad0] .minimized-container h6{font-size:1rem;font-weight:700}[data-v-43c74ad0] .minimized-container h2{font-size:1.083rem}[data-v-43c74ad0] .minimized-container h1{font-size:1.416rem}[data-v-43c74ad0] .minimized-container aside{padding:.667rem 1rem}[data-v-43c74ad0] .minimized-container .single-line,[data-v-43c74ad0] .minimized-container .source{border-radius:var(--code-border-radius)}.description[data-v-43c74ad0]{margin-bottom:2.353rem}.description[data-v-43c74ad0]:empty{display:none}.description.after-enhanced-hero[data-v-43c74ad0]{margin-top:2.353rem}.description[data-v-43c74ad0] .content+*{margin-top:var(--spacing-stacked-margin-large)}.full-width-container .doc-content .minimized-container[data-v-43c74ad0]{padding-left:1.4rem;padding-right:1.4rem}[data-v-43c74ad0] .no-primary-content{--content-table-title-border-width:0px}.sample-download[data-v-43c74ad0]{margin-top:20px}.declarations-container[data-v-43c74ad0]{margin-top:30px}.declarations-container.minimized-container[data-v-43c74ad0]{margin-top:0}[data-v-43c74ad0] h1{font-size:2.35294rem;line-height:1.1;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}@media only screen and (max-width:1250px){[data-v-43c74ad0] h1{font-size:1.88235rem;line-height:1.125;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}@media only screen and (max-width:735px){[data-v-43c74ad0] h1{font-size:1.64706rem;line-height:1.14286;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}[data-v-43c74ad0] h2{font-size:1.88235rem;line-height:1.125;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}@media only screen and (max-width:1250px){[data-v-43c74ad0] h2{font-size:1.64706rem;line-height:1.14286;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}@media only screen and (max-width:735px){[data-v-43c74ad0] h2{font-size:1.41176rem;line-height:1.16667;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}[data-v-43c74ad0] h3{font-size:1.64706rem;line-height:1.14286;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}@media only screen and (max-width:1250px){[data-v-43c74ad0] h3{font-size:1.41176rem;line-height:1.16667;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}@media only screen and (max-width:735px){[data-v-43c74ad0] h3{font-size:1.23529rem;line-height:1.19048;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}[data-v-43c74ad0] h4{font-size:1.41176rem;line-height:1.16667;font-weight:600;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}@media only screen and (max-width:1250px){[data-v-43c74ad0] h4{font-size:1.23529rem;line-height:1.19048;font-weight:600;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}[data-v-43c74ad0] h5{font-size:1.29412rem;line-height:1.18182;font-weight:600;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}@media only screen and (max-width:1250px){[data-v-43c74ad0] h5{font-size:1.17647rem;line-height:1.2;font-weight:600;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}@media only screen and (max-width:735px){[data-v-43c74ad0] h5{font-size:1.05882rem;line-height:1.44444;font-weight:600;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}[data-v-43c74ad0] h6{font-size:1rem;line-height:1.47059;font-weight:600;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}.doc-content-wrapper[data-v-43c74ad0]{display:flex;justify-content:center}.doc-content-wrapper .doc-content[data-v-43c74ad0]{min-width:0;width:100%}.with-on-this-page .doc-content-wrapper .doc-content[data-v-43c74ad0]{max-width:820px}@media only screen and (min-width:1251px){.with-on-this-page .doc-content-wrapper .doc-content[data-v-43c74ad0]{max-width:980px}}@media only screen and (min-width:1500px){.with-on-this-page .doc-content-wrapper .doc-content[data-v-43c74ad0]{max-width:1080px}}.quick-navigation-open[data-v-53faf852]{display:flex;align-items:center;justify-content:center;width:16px;border:1px solid var(--color-grid);height:100%;border-radius:var(--border-radius,4px);transition:background-color .15s;box-sizing:border-box}.quick-navigation-open[data-v-53faf852]:hover{background-color:var(--color-fill-tertiary)}@media only screen and (max-width:1023px){.quick-navigation-open[data-v-53faf852]{display:none}}.fromkeyboard .quick-navigation-open[data-v-53faf852]:focus{box-shadow:0 0 0 4px var(--color-focus-color);outline:none;border-color:var(--color-focus-border-color)}.tag[data-v-7e76f326]{display:inline-block;padding-right:.58824rem}.tag[data-v-7e76f326]:focus{outline:none}.tag button[data-v-7e76f326]{color:var(--color-figure-gray);background-color:var(--color-fill-tertiary);font-size:.82353rem;line-height:1.28571;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);border-radius:.82353rem;padding:.23529rem .58824rem;white-space:nowrap;border:1px solid transparent}@media (hover:hover){.tag button[data-v-7e76f326]:hover{transition:background-color .2s,color .2s;background-color:var(--color-fill-blue);color:#fff}}.tag button[data-v-7e76f326]:focus:active{background-color:var(--color-fill-blue);color:#fff}.fromkeyboard .tag button[data-v-7e76f326]:focus,.tag button.focus[data-v-7e76f326],.tag button[data-v-7e76f326]:focus{box-shadow:0 0 0 4px var(--color-focus-color);outline:none;border-color:var(--color-focus-border-color)}.tags[data-v-1f2bd813]{position:relative;margin:0;list-style:none;box-sizing:border-box;transition:padding-right .8s,padding-bottom .8s,max-height 1s,opacity 1s;padding:0}.tags .scroll-wrapper[data-v-1f2bd813]{overflow-x:auto;overflow-y:hidden;-ms-overflow-style:none;scrollbar-color:var(--color-figure-gray-tertiary) transparent;scrollbar-width:thin}.tags .scroll-wrapper[data-v-1f2bd813]::-webkit-scrollbar{height:0}@supports not ((-webkit-touch-callout:none) or (scrollbar-width:none) or (-ms-overflow-style:none)){.tags .scroll-wrapper.scrolling[data-v-1f2bd813]{--scrollbar-height:11px;padding-top:var(--scrollbar-height);height:calc(var(--scroll-target-height) - var(--scrollbar-height));display:flex;align-items:center}}.tags .scroll-wrapper.scrolling[data-v-1f2bd813]::-webkit-scrollbar{height:11px}.tags .scroll-wrapper.scrolling[data-v-1f2bd813]::-webkit-scrollbar-thumb{border-radius:10px;background-color:var(--color-figure-gray-tertiary);border:2px solid transparent;background-clip:padding-box}.tags .scroll-wrapper.scrolling[data-v-1f2bd813]::-webkit-scrollbar-track-piece:end{margin-right:8px}.tags .scroll-wrapper.scrolling[data-v-1f2bd813]::-webkit-scrollbar-track-piece:start{margin-left:8px}.tags ul[data-v-1f2bd813]{margin:0;padding:0;display:flex}.filter[data-v-3f01a546]{--input-vertical-padding:.76471rem;--input-horizontal-spacing:.58824rem;--input-height:1.64706rem;--input-border-color:var(--color-fill-gray-secondary);--input-text:var(--color-fill-gray-secondary);position:relative;box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0);border-radius:calc(var(--border-radius, 4px) + 1px)}.fromkeyboard .filter[data-v-3f01a546]:focus{outline:none}.filter__top-wrapper[data-v-3f01a546]{display:flex}.filter__filter-button[data-v-3f01a546]{position:relative;z-index:1;cursor:text;margin-left:var(--input-horizontal-spacing);margin-right:.17647rem}@media only screen and (max-width:735px){.filter__filter-button[data-v-3f01a546]{margin-right:.41176rem}}.filter__filter-button .svg-icon[data-v-3f01a546]{fill:var(--input-text);display:block;height:21px}.filter__filter-button.blue[data-v-3f01a546]>*{fill:var(--color-figure-blue);color:var(--color-figure-blue)}.filter.focus .filter__wrapper[data-v-3f01a546]{box-shadow:0 0 0 3pt var(--color-focus-color);--input-border-color:var(--color-fill-blue)}.filter__wrapper[data-v-3f01a546]{border:1px solid var(--input-border-color);background:var(--color-fill);border-radius:var(--border-radius,4px)}.filter__wrapper--reversed[data-v-3f01a546]{display:flex;flex-direction:column-reverse}.filter__wrapper--no-border-style[data-v-3f01a546]{border:none}.filter__suggested-tags[data-v-3f01a546]{border-top:1px solid var(--color-fill-gray-tertiary);z-index:1;overflow:hidden}.filter__suggested-tags[data-v-3f01a546] ul{padding:var(--input-vertical-padding) .52941rem;border:1px solid transparent;border-bottom-left-radius:calc(var(--border-radius, 4px) - 1px);border-bottom-right-radius:calc(var(--border-radius, 4px) - 1px)}.fromkeyboard .filter__suggested-tags[data-v-3f01a546] ul:focus{outline:none;box-shadow:0 0 0 5px var(--color-focus-color)}.filter__wrapper--reversed .filter__suggested-tags[data-v-3f01a546]{border-bottom:1px solid var(--color-fill-gray-tertiary);border-top:none}.filter__selected-tags[data-v-3f01a546]{z-index:1;padding-left:4px;margin:-4px 0}@media only screen and (max-width:735px){.filter__selected-tags[data-v-3f01a546]{padding-left:0}}.filter__selected-tags[data-v-3f01a546] ul{padding:4px}@media only screen and (max-width:735px){.filter__selected-tags[data-v-3f01a546] ul{padding-right:.41176rem}}.filter__selected-tags[data-v-3f01a546] ul .tag:last-child{padding-right:0}.filter__delete-button[data-v-3f01a546]{position:relative;margin:0;z-index:1;border-radius:100%}.fromkeyboard .filter__delete-button[data-v-3f01a546]:focus{box-shadow:0 0 0 4px var(--color-focus-color);outline:none}.filter__delete-button .clear-rounded-icon[data-v-3f01a546]{height:.70588rem;width:.70588rem;fill:var(--input-text);display:block}.filter__delete-button-wrapper[data-v-3f01a546]{display:flex;align-items:center;padding-right:var(--input-horizontal-spacing);padding-left:.17647rem;border-top-right-radius:var(--border-radius,4px);border-bottom-right-radius:var(--border-radius,4px)}.filter__input-label[data-v-3f01a546]{position:relative;flex-grow:1;height:var(--input-height);padding:var(--input-vertical-padding) 0}.filter__input-label[data-v-3f01a546]:after{content:attr(data-value);visibility:hidden;width:auto;white-space:nowrap;min-width:130px;display:block;text-indent:.41176rem}@media only screen and (max-width:735px){.filter__input-label[data-v-3f01a546]:after{text-indent:.17647rem}}.filter__input-box-wrapper[data-v-3f01a546]{overflow-y:hidden;-ms-overflow-style:none;scrollbar-color:var(--color-figure-gray-tertiary) transparent;scrollbar-width:thin;display:flex;overflow-x:auto;align-items:center;cursor:text;flex:1}.filter__input-box-wrapper[data-v-3f01a546]::-webkit-scrollbar{height:0}@supports not ((-webkit-touch-callout:none) or (scrollbar-width:none) or (-ms-overflow-style:none)){.filter__input-box-wrapper.scrolling[data-v-3f01a546]{--scrollbar-height:11px;padding-top:var(--scrollbar-height);height:calc(var(--scroll-target-height) - var(--scrollbar-height));display:flex;align-items:center}}.filter__input-box-wrapper.scrolling[data-v-3f01a546]::-webkit-scrollbar{height:11px}.filter__input-box-wrapper.scrolling[data-v-3f01a546]::-webkit-scrollbar-thumb{border-radius:10px;background-color:var(--color-figure-gray-tertiary);border:2px solid transparent;background-clip:padding-box}.filter__input-box-wrapper.scrolling[data-v-3f01a546]::-webkit-scrollbar-track-piece:end{margin-right:8px}.filter__input-box-wrapper.scrolling[data-v-3f01a546]::-webkit-scrollbar-track-piece:start{margin-left:8px}.filter__input[data-v-3f01a546]{font-size:1.23529rem;line-height:1.38095;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);color:var(--color-text);height:var(--input-height);border:none;width:100%;position:absolute;background:transparent;z-index:1;text-indent:.41176rem}@media only screen and (max-width:735px){.filter__input[data-v-3f01a546]{font-size:1.11765rem;line-height:1.42105;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);text-indent:.17647rem}}.filter__input[data-v-3f01a546]:focus{outline:none}.filter__input[placeholder][data-v-3f01a546]::-moz-placeholder{color:var(--input-text);opacity:1}.filter__input[placeholder][data-v-3f01a546]::placeholder{color:var(--input-text);opacity:1}.filter__input[placeholder][data-v-3f01a546]:-ms-input-placeholder{color:var(--input-text)}.filter__input[placeholder][data-v-3f01a546]::-ms-input-placeholder{color:var(--input-text)}.highlight[data-v-1c4190f0]{display:inline}.highlight[data-v-1c4190f0] .match{font-weight:600;background:var(--color-fill-light-blue-secondary)}@media only screen and (max-width:735px){.preview[data-v-6fb5ba95]{display:none}}.unavailable[data-v-6fb5ba95]{align-items:center;display:flex;height:100%;justify-content:center}.loading[data-v-6fb5ba95]{padding:20px}.loading-row[data-v-6fb5ba95]{-webkit-animation:pulse 2.5s ease;animation:pulse 2.5s ease;-webkit-animation-delay:calc(1s + 0.3s*var(--index));animation-delay:calc(1s + 0.3s*var(--index));-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;background-color:var(--color-fill-gray-tertiary);border-radius:4px;height:12px;margin:20px 0;opacity:0}.loading-row[data-v-6fb5ba95]:first-of-type{margin-top:0}.loading-row[data-v-6fb5ba95]:last-of-type{margin-bottom:0}.quick-navigation[data-v-71686791]{--input-border-color:var(--color-grid)}.quick-navigation input[type=text][data-v-71686791]{font-size:1.23529rem;line-height:1.38095;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}@media only screen and (max-width:735px){.quick-navigation input[type=text][data-v-71686791]{font-size:1.11765rem;line-height:1.42105;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}.quick-navigation__filter[data-v-71686791]{--input-horizontal-spacing:.88235rem}.quick-navigation[data-v-71686791] .filter__wrapper{background-color:var(--color-fill-secondary)}.quick-navigation__container[data-v-71686791]{background-color:var(--color-fill-secondary);border:solid 1px var(--input-border-color);border-radius:var(--border-radius,4px);margin:0 .94118rem}.quick-navigation__container>[data-v-71686791]{--input-text:var(--color-figure-gray-secondary)}.quick-navigation__container.focus[data-v-71686791]{box-shadow:0 0 0 4px var(--color-focus-color);outline:none;border-color:var(--color-focus-border-color)}.quick-navigation__magnifier-icon-container[data-v-71686791]{width:1rem}.quick-navigation__magnifier-icon-container>[data-v-71686791]{width:100%}.quick-navigation__magnifier-icon-container.blue .magnifier-icon[data-v-71686791]{fill:var(--color-figure-blue);color:var(--color-figure-blue)}.quick-navigation__match-list[data-v-71686791]{display:flex;max-height:26.47059rem;height:0}.quick-navigation__match-list>[data-v-71686791]{min-width:0}.quick-navigation__match-list.active[data-v-71686791]{height:auto;border-top:1px solid var(--input-border-color)}.quick-navigation__match-list .no-results[data-v-71686791]{margin:.88235rem auto;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.quick-navigation__match-list .selected[data-v-71686791]{background-color:var(--color-navigator-item-hover)}.quick-navigation__refs[data-v-71686791]{flex:1;overflow:auto}.quick-navigation__preview[data-v-71686791]{border-left:1px solid var(--color-grid);flex:0 0 61.8%;overflow:auto;position:sticky;top:0}.quick-navigation__reference[data-v-71686791]:hover{text-decoration:none}.quick-navigation__symbol-match[data-v-71686791]{display:flex;height:2.35294rem;padding:.58824rem .88235rem;color:var(--color-figure-gray)}.quick-navigation__symbol-match[data-v-71686791]:hover{background-color:var(--color-navigator-item-hover)}.quick-navigation__symbol-match .symbol-info[data-v-71686791]{margin:auto;width:100%}.quick-navigation__symbol-match .symbol-info .navigator-icon[data-v-71686791]{margin-right:.58824rem}.quick-navigation__symbol-match .symbol-info .symbol-name[data-v-71686791]{display:flex}.quick-navigation__symbol-match .symbol-info .symbol-name .symbol-title[data-v-71686791]{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quick-navigation__symbol-match .symbol-info .symbol-path[data-v-71686791]{font-size:.82353rem;line-height:1.28571;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);color:var(--color-figure-gray-secondary);display:flex;margin-left:1.58824rem;overflow:hidden;white-space:nowrap}.quick-navigation__symbol-match .symbol-info .symbol-path .parent-path[data-v-71686791]{padding-right:.29412rem}@media print{.sidebar[data-v-f3c6416c]{display:none}}.adjustable-sidebar-width[data-v-f3c6416c]{display:flex}@media only screen and (max-width:1023px){.adjustable-sidebar-width[data-v-f3c6416c]{display:block;position:relative}}.adjustable-sidebar-width.dragging[data-v-f3c6416c] *{cursor:col-resize!important}.adjustable-sidebar-width.sidebar-hidden.dragging[data-v-f3c6416c] *{cursor:e-resize!important}.sidebar[data-v-f3c6416c]{position:relative}@media only screen and (max-width:1023px){.sidebar[data-v-f3c6416c]{position:static}}.aside[data-v-f3c6416c]{width:250px;position:relative;height:100%;max-width:100vw}.aside.no-transition[data-v-f3c6416c]{transition:none!important}@media only screen and (min-width:1024px){.aside[data-v-f3c6416c]{transition:width .3s ease-in,visibility 0s linear var(--visibility-transition-time,0s)}.aside.dragging[data-v-f3c6416c]:not(.is-opening-on-large):not(.hide-on-large){transition:none}.aside.hide-on-large[data-v-f3c6416c]{width:0!important;visibility:hidden;pointer-events:none;--visibility-transition-time:.3s}}@media only screen and (max-width:1023px){.aside[data-v-f3c6416c]{width:100%!important;overflow:hidden;min-width:0;max-width:100%;height:calc(var(--app-height) - var(--top-offset-mobile));position:fixed;top:var(--top-offset-mobile);bottom:0;z-index:9998;transform:translateX(-100%);transition:transform .15s ease-in;left:0}.aside[data-v-f3c6416c] .aside-animated-child{opacity:0}.aside.show-on-mobile[data-v-f3c6416c]{transform:translateX(0)}.aside.show-on-mobile[data-v-f3c6416c] .aside-animated-child{--index:0;opacity:1;transition:opacity .15s linear;transition-delay:calc(var(--index)*0.15s + .15s)}.aside.has-mobile-top-offset[data-v-f3c6416c]{border-top:1px solid var(--color-fill-gray-tertiary)}}.content[data-v-f3c6416c]{display:flex;flex-flow:column;min-width:0;flex:1 1 auto;height:100%}.resize-handle[data-v-f3c6416c]{position:absolute;cursor:col-resize;top:0;bottom:0;right:0;width:5px;height:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:1;transition:background-color .15s;transform:translateX(50%)}@media only screen and (max-width:1023px){.resize-handle[data-v-f3c6416c]{display:none}}.resize-handle[data-v-f3c6416c]:hover{background:var(--color-fill-gray-tertiary)}.navigator-card-item[data-v-0b9fe514]{--nav-head-wrapper-left-space:10px;--nav-head-wrapper-right-space:20px;--head-wrapper-vertical-space:5px;--nav-depth-spacer:25px;--nesting-index:0;display:flex;align-items:stretch;min-height:32px;box-sizing:border-box}.fromkeyboard .navigator-card-item[data-v-0b9fe514]:focus-within{outline:4px solid var(--color-focus-color);outline-offset:-4px}.navigator-card-item.active[data-v-0b9fe514]{background:var(--color-fill-gray-quaternary)}.hover .navigator-card-item[data-v-0b9fe514]:not(.is-group){background:var(--color-navigator-item-hover)}.depth-spacer[data-v-0b9fe514]{width:calc(var(--nesting-index)*15px + var(--nav-depth-spacer));height:100%;position:relative;flex:0 0 auto}.title-container[data-v-0b9fe514]{width:100%;min-width:0;display:flex;align-items:center}.navigator-icon-wrapper[data-v-0b9fe514]{margin-right:7px}.head-wrapper[data-v-0b9fe514]{padding:var(--head-wrapper-vertical-space) var(--nav-head-wrapper-right-space) var(--head-wrapper-vertical-space) var(--nav-head-wrapper-left-space);position:relative;display:flex;align-items:center;flex:1;min-width:0}@supports (padding:max(0px)){.head-wrapper[data-v-0b9fe514]{padding-left:max(var(--nav-head-wrapper-left-space),env(safe-area-inset-left));padding-right:max(var(--nav-head-wrapper-right-space),env(safe-area-inset-right))}}.highlight[data-v-d75876e2]{display:inline}.highlight[data-v-d75876e2] .match{font-weight:600;background:var(--color-fill-light-blue-secondary)}.is-group .leaf-link[data-v-0c96ff75]{color:var(--color-figure-gray-secondary);font-weight:600}.is-group .leaf-link[data-v-0c96ff75]:after{display:none}.navigator-icon[data-v-0c96ff75]{display:flex;flex:0 0 auto}.navigator-icon.changed[data-v-0c96ff75]{border:none;width:1em;height:1em;z-index:0}.navigator-icon.changed[data-v-0c96ff75]:after{top:50%;left:50%;right:auto;bottom:auto;transform:translate(-50%,-50%);background-image:url(../img/modified-icon.f496e73d.svg);margin:0}@media screen{[data-color-scheme=dark] .navigator-icon.changed[data-v-0c96ff75]:after{background-image:url(../img/modified-icon.f496e73d.svg)}}@media screen and (prefers-color-scheme:dark){[data-color-scheme=auto] .navigator-icon.changed[data-v-0c96ff75]:after{background-image:url(../img/modified-icon.f496e73d.svg)}}.navigator-icon.changed-added[data-v-0c96ff75]:after{background-image:url(../img/added-icon.d6f7e47d.svg)}@media screen{[data-color-scheme=dark] .navigator-icon.changed-added[data-v-0c96ff75]:after{background-image:url(../img/added-icon.d6f7e47d.svg)}}@media screen and (prefers-color-scheme:dark){[data-color-scheme=auto] .navigator-icon.changed-added[data-v-0c96ff75]:after{background-image:url(../img/added-icon.d6f7e47d.svg)}}.navigator-icon.changed-deprecated[data-v-0c96ff75]:after{background-image:url(../img/deprecated-icon.015b4f17.svg)}@media screen{[data-color-scheme=dark] .navigator-icon.changed-deprecated[data-v-0c96ff75]:after{background-image:url(../img/deprecated-icon.015b4f17.svg)}}@media screen and (prefers-color-scheme:dark){[data-color-scheme=auto] .navigator-icon.changed-deprecated[data-v-0c96ff75]:after{background-image:url(../img/deprecated-icon.015b4f17.svg)}}.leaf-link[data-v-0c96ff75]{color:var(--color-figure-gray);text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;display:inline;vertical-align:middle;font-size:.82353rem;line-height:1.28571;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}.fromkeyboard .leaf-link[data-v-0c96ff75]:focus{outline:none}.leaf-link[data-v-0c96ff75]:hover{text-decoration:none}.leaf-link.bolded[data-v-0c96ff75]{font-weight:600}.leaf-link[data-v-0c96ff75]:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0}.extended-content[data-v-0c96ff75]{font-size:.82353rem;line-height:1.42857;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);color:var(--color-figure-gray-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tree-toggle[data-v-0c96ff75]{overflow:hidden;position:absolute;width:100%;height:100%;padding-right:5px;box-sizing:border-box;z-index:1;display:flex;align-items:center;justify-content:flex-end}.chevron[data-v-0c96ff75]{width:10px}.chevron.animating[data-v-0c96ff75]{transition:transform .15s ease-in}.chevron.rotate[data-v-0c96ff75]{transform:rotate(90deg)}.navigator-card[data-v-24789ed0]{--card-vertical-spacing:8px;--card-horizontal-spacing:20px;--nav-filter-horizontal-padding:20px;--visibility-delay:1s;display:flex;flex-direction:column;min-height:0;height:calc(var(--app-height) - var(--nav-height, 0px));position:sticky;top:var(--nav-height,0)}@media only screen and (max-width:1023px){.navigator-card[data-v-24789ed0]{height:100%;position:static;background:var(--color-fill)}}.navigator-card .navigator-card-full-height[data-v-24789ed0]{min-height:0;flex:1 1 auto}.navigator-card .head-inner[data-v-24789ed0]{overflow:hidden}.navigator-card .head-wrapper[data-v-24789ed0]{position:relative;flex:1 0 auto}.navigator-card .navigator-head[data-v-24789ed0]{--navigator-head-padding-right:calc(var(--card-horizontal-spacing)*2 + 19px);padding:0 var(--navigator-head-padding-right) 0 var(--card-horizontal-spacing);background:var(--color-fill);border-bottom:1px solid var(--color-grid);display:flex;align-items:center;height:3.05882rem;white-space:nowrap}.navigator-card .navigator-head .card-link[data-v-24789ed0]{color:var(--color-text);font-size:.82353rem;line-height:1.42857;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);font-weight:600;overflow:hidden;text-overflow:ellipsis}.navigator-card .navigator-head .badge[data-v-24789ed0]{margin-top:0}.navigator-card .navigator-head.router-link-exact-active[data-v-24789ed0]{background:var(--color-fill)}.navigator-card .navigator-head.router-link-exact-active .card-link[data-v-24789ed0]{font-weight:700}.navigator-card .navigator-head[data-v-24789ed0]:hover{background:var(--color-navigator-item-hover);text-decoration:none}@supports (padding:max(0px)){.navigator-card .navigator-head[data-v-24789ed0]{padding-left:max(var(--card-horizontal-spacing),env(safe-area-inset-left));padding-right:max(var(--navigator-head-padding-right),env(safe-area-inset-right))}}@media only screen and (max-width:1023px){.navigator-card .navigator-head[data-v-24789ed0]{justify-content:center;--navigator-head-padding-right:var(--card-horizontal-spacing)}}@media only screen and (max-width:767px){.navigator-card .navigator-head[data-v-24789ed0]{height:2.82353rem;padding:0 20px}}.close-card[data-v-24789ed0]{display:flex;position:absolute;z-index:1;align-items:center;justify-content:center;right:1rem;padding:5px;margin-left:-5px;top:calc(50% - 14px);transition:transform .3s ease-in 0s,visibility 0s}@media only screen and (max-width:1023px){.close-card[data-v-24789ed0]{right:unset;top:0;left:0;margin:0;padding:0 1.29412rem 0 20px;height:100%}@supports (padding:max(0px)){.close-card[data-v-24789ed0]{padding-left:max(1.29412rem,env(safe-area-inset-left))}}}@media only screen and (max-width:767px){.close-card[data-v-24789ed0]{padding-left:.94118rem;padding-right:.94118rem}@supports (padding:max(0px)){.close-card[data-v-24789ed0]{padding-left:max(.94118rem,env(safe-area-inset-left))}}}.close-card .close-icon[data-v-24789ed0]{width:19px;height:19px}@media only screen and (min-width:1024px){.close-card.hide-on-large[data-v-24789ed0]{display:none}.close-card[data-v-24789ed0]:hover{border-radius:var(--border-radius,4px);background:var(--color-fill-gray-quaternary)}.sidebar-hidden .close-card[data-v-24789ed0]{transition:transform .3s ease-in 0s,visibility 0s linear .3s;visibility:hidden;transform:translateX(3.76471rem)}}[data-v-24789ed0] .card-body{padding-right:0;flex:1 1 auto;min-height:0;height:100%}@media only screen and (max-width:1023px){[data-v-24789ed0] .card-body{--card-vertical-spacing:0px}}.navigator-card-inner[data-v-24789ed0]{display:flex;flex-flow:column;height:100%}.vue-recycle-scroller{position:relative}.vue-recycle-scroller.direction-vertical:not(.page-mode){overflow-y:auto}.vue-recycle-scroller.direction-horizontal:not(.page-mode){overflow-x:auto}.vue-recycle-scroller.direction-horizontal{display:-webkit-box;display:-ms-flexbox;display:flex}.vue-recycle-scroller__slot{-webkit-box-flex:1;-ms-flex:auto 0 0px;flex:auto 0 0}.vue-recycle-scroller__item-wrapper{-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;position:relative}.vue-recycle-scroller.ready .vue-recycle-scroller__item-view{position:absolute;top:0;left:0;will-change:transform}.vue-recycle-scroller.direction-vertical .vue-recycle-scroller__item-wrapper{width:100%}.vue-recycle-scroller.direction-horizontal .vue-recycle-scroller__item-wrapper{height:100%}.vue-recycle-scroller.ready.direction-vertical .vue-recycle-scroller__item-view{width:100%}.vue-recycle-scroller.ready.direction-horizontal .vue-recycle-scroller__item-view{height:100%}.resize-observer[data-v-b329ee4c]{border:none;background-color:transparent;opacity:0}.resize-observer[data-v-b329ee4c],.resize-observer[data-v-b329ee4c] object{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;pointer-events:none;display:block;overflow:hidden}.navigator-card.filter-on-top .filter-wrapper[data-v-1543892a]{order:1;position:static}.navigator-card.filter-on-top .card-body[data-v-1543892a]{order:2}.no-items-wrapper[data-v-1543892a]{overflow:hidden;color:var(--color-figure-gray-tertiary)}.no-items-wrapper .no-items[data-v-1543892a]{font-size:.82353rem;line-height:1.42857;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);padding:var(--card-vertical-spacing) var(--card-horizontal-spacing);min-width:200px;box-sizing:border-box}.navigator-filter[data-v-1543892a]{box-sizing:border-box;padding:15px var(--nav-filter-horizontal-padding);border-top:1px solid var(--color-grid);height:71px;display:flex;align-items:flex-end}.filter-on-top .navigator-filter[data-v-1543892a]{border-top:none;align-items:flex-start}@supports (padding:max(0px)){.navigator-filter[data-v-1543892a]{padding-left:max(var(--nav-filter-horizontal-padding),env(safe-area-inset-left));padding-right:max(var(--nav-filter-horizontal-padding),env(safe-area-inset-right))}}@media only screen and (max-width:1023px){.navigator-filter[data-v-1543892a]{--nav-filter-horizontal-padding:20px;border:none;padding-top:10px;padding-bottom:10px;height:60px}}.navigator-filter .input-wrapper[data-v-1543892a]{position:relative;flex:1;min-width:0}.navigator-filter .filter-component[data-v-1543892a]{--input-vertical-padding:8px;--input-height:22px;--input-border-color:var(--color-grid);--input-text:var(--color-figure-gray-secondary)}.navigator-filter .filter-component[data-v-1543892a] .filter__input{font-size:1rem;line-height:1.47059;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}.scroller[data-v-1543892a]{height:100%;box-sizing:border-box;padding:var(--card-vertical-spacing) 0;padding-bottom:calc(var(--top-offset, 0px) + var(--card-vertical-spacing));transition:padding-bottom .15s ease-in}@media only screen and (max-width:1023px){.scroller[data-v-1543892a]{padding-bottom:10em}}.scroller[data-v-1543892a] .vue-recycle-scroller__item-wrapper{transform:translateZ(0)}.filter-wrapper[data-v-1543892a]{position:sticky;bottom:0;background:var(--color-fill)}.sidebar-transitioning .filter-wrapper[data-v-1543892a]{flex:1 0 71px;overflow:hidden}@media only screen and (max-width:1023px){.sidebar-transitioning .filter-wrapper[data-v-1543892a]{flex-basis:60px}}.loader[data-v-0de29914]{height:.70588rem;background-color:var(--color-fill-gray-tertiary);border-radius:4px}.navigator-icon[data-v-0de29914]{width:16px;height:16px;border-radius:2px;background-color:var(--color-fill-gray-tertiary)}.loading-navigator-item[data-v-0de29914]{-webkit-animation:pulse 2.5s ease;animation:pulse 2.5s ease;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;opacity:0;-webkit-animation-delay:calc(var(--visibility-delay) + 0.3s*var(--index));animation-delay:calc(var(--visibility-delay) + 0.3s*var(--index))}.delay-visibility-enter-active[data-v-4b6d345f]{transition:visibility var(--visibility-delay);visibility:hidden}.loading-navigator[data-v-4b6d345f]{padding-top:var(--card-vertical-spacing)}.navigator[data-v-159b9764]{height:100%;display:flex;flex-flow:column}@media only screen and (max-width:1023px){.navigator[data-v-159b9764]{position:static;transition:none}}.hierarchy-collapsed-items[data-v-74906830]{position:relative;display:inline-flex;align-items:center;margin-left:.17647rem}.hierarchy-collapsed-items .hierarchy-item-icon[data-v-74906830]{width:9px;height:15px;margin-right:.17647rem;display:flex;justify-content:center;font-size:1em;align-self:baseline}.nav--in-breakpoint-range .hierarchy-collapsed-items[data-v-74906830]{display:none}.hierarchy-collapsed-items .toggle[data-v-74906830]{background:var(--color-nav-hierarchy-collapse-background);border-color:var(--color-nav-hierarchy-collapse-borders);border-radius:var(--border-radius,4px);border-style:solid;border-width:0;font-weight:600;height:1.11765rem;text-align:center;width:2.11765rem;display:flex;align-items:center;justify-content:center}.theme-dark .hierarchy-collapsed-items .toggle[data-v-74906830]{background:var(--color-nav-dark-hierarchy-collapse-background)}.hierarchy-collapsed-items .toggle.focused[data-v-74906830],.hierarchy-collapsed-items .toggle[data-v-74906830]:active,.hierarchy-collapsed-items .toggle[data-v-74906830]:focus{box-shadow:0 0 0 4px var(--color-focus-color);outline:none}.indicator[data-v-74906830]{width:1em;height:1em;display:flex;align-items:center}.indicator .toggle-icon[data-v-74906830]{width:100%}.dropdown[data-v-74906830]{background:var(--color-nav-hierarchy-collapse-background);border-color:var(--color-nav-hierarchy-collapse-borders);border-radius:var(--border-radius,4px);border-style:solid;box-shadow:0 1px 4px -1px var(--color-figure-gray-secondary);border-width:0;padding:0 .5rem;position:absolute;z-index:42;top:calc(100% + .41176rem)}.theme-dark .dropdown[data-v-74906830]{background:var(--color-nav-dark-hierarchy-collapse-background);border-color:var(--color-nav-dark-hierarchy-collapse-borders)}.dropdown.collapsed[data-v-74906830]{opacity:0;transform:translate3d(0,-.41176rem,0);transition:opacity .25s ease,transform .25s ease,visibility 0s linear .25s;visibility:hidden}.dropdown[data-v-74906830]:not(.collapsed){opacity:1;transform:none;transition:opacity .25s ease,transform .25s ease,visibility 0s linear 0s;visibility:visible}.nav--in-breakpoint-range .dropdown[data-v-74906830]:not(.collapsed){display:none}.dropdown[data-v-74906830]:before{border-bottom-color:var(--color-nav-hierarchy-collapse-background);border-bottom-style:solid;border-bottom-width:.5rem;border-left-color:transparent;border-left-style:solid;border-left-width:.5rem;border-right-color:transparent;border-right-style:solid;border-right-width:.5rem;content:"";left:1.26471rem;position:absolute;top:-.44118rem}.theme-dark .dropdown[data-v-74906830]:before{border-bottom-color:var(--color-nav-dark-hierarchy-collapse-background)}.dropdown-item[data-v-74906830]{border-top-color:var(--color-nav-hierarchy-collapse-borders);border-top-style:solid;border-top-width:1px}.theme-dark .dropdown-item[data-v-74906830]{border-top-color:var(--color-nav-dark-hierarchy-collapse-borders)}.dropdown-item[data-v-74906830]:first-child{border-top:none}.nav-menu-link[data-v-74906830]{max-width:57.64706rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;padding:.75rem 1rem}.hierarchy-item[data-v-382bf39e]{display:flex;align-items:center;margin-left:.17647rem}.hierarchy-item[data-v-382bf39e] .hierarchy-item-icon{width:9px;height:15px;margin-right:.17647rem;display:flex;justify-content:center;font-size:1em;align-self:baseline}.nav--in-breakpoint-range .hierarchy-item[data-v-382bf39e] .hierarchy-item-icon{display:none}.nav--in-breakpoint-range .hierarchy-item[data-v-382bf39e]{border-top:1px solid var(--color-nav-hierarchy-item-borders);display:flex;align-items:center}.theme-dark.nav--in-breakpoint-range .hierarchy-item[data-v-382bf39e]{border-top-color:var(--color-nav-dark-hierarchy-item-borders)}.nav--in-breakpoint-range .hierarchy-item[data-v-382bf39e]:first-of-type{border-top:none}.hierarchy-item.collapsed[data-v-382bf39e]{display:none}.nav--in-breakpoint-range .hierarchy-item.collapsed[data-v-382bf39e]{display:inline-block}.item[data-v-382bf39e]{display:inline-block;vertical-align:middle}.nav--in-breakpoint-range .item[data-v-382bf39e]{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;height:100%;line-height:2.47059rem}@media only screen and (min-width:768px){.hierarchy-item:first-child:last-child .item[data-v-382bf39e],.hierarchy-item:first-child:last-child~.hierarchy-item .item[data-v-382bf39e]{max-width:45rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.has-badge .hierarchy-item:first-child:last-child .item[data-v-382bf39e],.has-badge .hierarchy-item:first-child:last-child~.hierarchy-item .item[data-v-382bf39e],.hierarchy-item:first-child:nth-last-child(2) .item[data-v-382bf39e],.hierarchy-item:first-child:nth-last-child(2)~.hierarchy-item .item[data-v-382bf39e]{max-width:36rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.has-badge .hierarchy-item:first-child:nth-last-child(2) .item[data-v-382bf39e],.has-badge .hierarchy-item:first-child:nth-last-child(2)~.hierarchy-item .item[data-v-382bf39e]{max-width:28.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hierarchy-item:first-child:nth-last-child(3) .item[data-v-382bf39e],.hierarchy-item:first-child:nth-last-child(3)~.hierarchy-item .item[data-v-382bf39e]{max-width:27rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.has-badge .hierarchy-item:first-child:nth-last-child(3) .item[data-v-382bf39e],.has-badge .hierarchy-item:first-child:nth-last-child(3)~.hierarchy-item .item[data-v-382bf39e]{max-width:21.6rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hierarchy-item:first-child:nth-last-child(4) .item[data-v-382bf39e],.hierarchy-item:first-child:nth-last-child(4)~.hierarchy-item .item[data-v-382bf39e]{max-width:18rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.has-badge .hierarchy-item:first-child:nth-last-child(4) .item[data-v-382bf39e],.has-badge .hierarchy-item:first-child:nth-last-child(4)~.hierarchy-item .item[data-v-382bf39e]{max-width:14.4rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hierarchy-item:first-child:nth-last-child(5) .item[data-v-382bf39e],.hierarchy-item:first-child:nth-last-child(5)~.hierarchy-item .item[data-v-382bf39e]{max-width:9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.has-badge .hierarchy-item:first-child:nth-last-child(5) .item[data-v-382bf39e],.has-badge .hierarchy-item:first-child:nth-last-child(5)~.hierarchy-item .item[data-v-382bf39e]{max-width:7.2rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hierarchy-collapsed-items~.hierarchy-item .item[data-v-382bf39e]{max-width:10.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hierarchy-collapsed-items~.hierarchy-item:last-child .item[data-v-382bf39e]{max-width:none}.has-badge .hierarchy-collapsed-items~.hierarchy-item .item[data-v-382bf39e]{max-width:8.64rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.hierarchy[data-v-c2bd6086]{justify-content:flex-start;min-width:0;margin-right:80px}.nav--in-breakpoint-range .hierarchy[data-v-c2bd6086]{margin-right:0}.hierarchy .root-hierarchy .item[data-v-c2bd6086]{max-width:10rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-menu-setting-label[data-v-d12167e0]{margin-right:.35294rem;white-space:nowrap}.language-container[data-v-d12167e0]{flex:1 0 auto}.language-dropdown[data-v-d12167e0]{-webkit-text-size-adjust:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background-color:transparent;box-sizing:inherit;padding:0 11px 0 4px;margin-left:-4px;font-size:.82353rem;line-height:1.28571;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);cursor:pointer;position:relative;z-index:1}@media only screen and (max-width:1023px){.language-dropdown[data-v-d12167e0]{font-size:.82353rem;line-height:1.5;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}.language-dropdown[data-v-d12167e0]:focus{outline:none}.fromkeyboard .language-dropdown[data-v-d12167e0]:focus{outline:4px solid var(--color-focus-color);outline-offset:1px}.language-sizer[data-v-d12167e0]{position:absolute;opacity:0;pointer-events:none;padding:0}.language-toggle-container[data-v-d12167e0]{display:flex;align-items:center;padding-right:.17647rem;position:relative}.nav--in-breakpoint-range .language-toggle-container[data-v-d12167e0]{display:none}.language-toggle-container .toggle-icon[data-v-d12167e0]{width:.6em;height:.6em;position:absolute;right:7px}.language-toggle-label[data-v-d12167e0]{margin-right:2px}.language-toggle.nav-menu-toggle-label[data-v-d12167e0]{margin-right:6px}.language-list[data-v-d12167e0]{display:inline-block;margin-top:0}.language-list-container[data-v-d12167e0]{display:none}.language-list-item[data-v-d12167e0],.nav--in-breakpoint-range .language-list-container[data-v-d12167e0]{display:inline-block}.language-list-item[data-v-d12167e0]:not(:first-child){border-left:1px solid #424242;margin-left:6px;padding-left:6px}[data-v-138d523a] .nav-menu{line-height:1.5}[data-v-138d523a] .nav-menu,[data-v-138d523a] .nav-menu-settings{font-size:.82353rem;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}[data-v-138d523a] .nav-menu-settings{min-width:0;line-height:1.28571}@media only screen and (max-width:1023px){[data-v-138d523a] .nav-menu-settings{font-size:.82353rem;line-height:1.5;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}@media only screen and (min-width:1024px){[data-v-138d523a] .nav-menu-settings{margin-left:.58824rem}}.nav--in-breakpoint-range[data-v-138d523a] .nav-menu-settings:not([data-previous-menu-children-count="0"]) .nav-menu-setting:first-child{border-top:1px solid #b0b0b0;display:flex;align-items:center}[data-v-138d523a] .nav-menu-settings .nav-menu-setting{display:flex;align-items:center;color:var(--color-nav-current-link);margin-left:0;min-width:0}[data-v-138d523a] .nav-menu-settings .nav-menu-setting:first-child:not(:only-child){margin-right:.58824rem}.nav--in-breakpoint-range[data-v-138d523a] .nav-menu-settings .nav-menu-setting:first-child:not(:only-child){margin-right:0}.theme-dark[data-v-138d523a] .nav-menu-settings .nav-menu-setting{color:var(--color-nav-dark-current-link)}.nav--in-breakpoint-range[data-v-138d523a] .nav-menu-settings .nav-menu-setting:not(:first-child){border-top:1px solid #424242}.documentation-nav[data-v-138d523a] .nav-title{font-size:.82353rem;line-height:1.5;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}.documentation-nav[data-v-138d523a] .nav-title .nav-title-link.inactive{height:auto;color:var(--color-figure-gray-secondary-alt)}.theme-dark.documentation-nav .nav-title .nav-title-link.inactive[data-v-138d523a]{color:#b0b0b0}.sidenav-toggle-wrapper[data-v-138d523a]{display:flex;margin-top:1px}.nav--in-breakpoint-range .sidenav-toggle-wrapper[data-v-138d523a]{display:flex!important}@media only screen and (min-width:1024px){.sidenav-toggle-enter-active[data-v-138d523a],.sidenav-toggle-leave-active[data-v-138d523a]{transition:margin .3s ease-in 0s}.sidenav-toggle-enter[data-v-138d523a],.sidenav-toggle-leave-to[data-v-138d523a]{margin-left:-3.76471rem}}.sidenav-toggle[data-v-138d523a]{align-self:center;color:var(--color-nav-link-color);position:relative;margin:-5px}.theme-dark .sidenav-toggle[data-v-138d523a]{color:var(--color-nav-dark-link-color)}.sidenav-toggle:hover .sidenav-icon-wrapper[data-v-138d523a]{background:var(--color-fill-gray-quaternary)}.theme-dark .sidenav-toggle:hover .sidenav-icon-wrapper[data-v-138d523a]{background:#424242}.sidenav-toggle__separator[data-v-138d523a]{height:.8em;width:1px;background:var(--color-nav-color);align-self:center;margin:0 1.29412rem}.nav--in-breakpoint-range .sidenav-toggle[data-v-138d523a]{margin-left:-14px;margin-right:-14px;padding-left:14px;padding-right:14px;align-self:stretch}.nav--in-breakpoint-range .sidenav-toggle__separator[data-v-138d523a]{display:none}.sidenav-icon-wrapper[data-v-138d523a]{padding:5px;display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius,4px)}.sidenav-icon[data-v-138d523a]{display:flex;width:19px;height:19px}[data-v-4a89caca] .generic-modal{overflow-y:overlay}[data-v-4a89caca] .modal-fullscreen>.container{background-color:transparent;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;flex:auto;margin:9.41176rem 0;max-width:47.05882rem;overflow:visible}[data-v-4a89caca] .navigator-filter .quick-navigation-open{margin-left:var(--nav-filter-horizontal-padding);width:calc(var(--nav-filter-horizontal-padding)*2)}.doc-topic-view[data-v-4a89caca]{--delay:1s;display:flex;flex-flow:column;background:var(--colors-text-background,var(--color-text-background))}.doc-topic-view .delay-hiding-leave-active[data-v-4a89caca]{transition:display var(--delay)}.doc-topic-aside[data-v-4a89caca]{height:100%;box-sizing:border-box;border-right:1px solid var(--color-grid)}@media only screen and (max-width:1023px){.doc-topic-aside[data-v-4a89caca]{background:var(--color-fill);border-right:none}.sidebar-transitioning .doc-topic-aside[data-v-4a89caca]{border-right:1px solid var(--color-grid)}}.topic-wrapper[data-v-4a89caca]{flex:1 1 auto;width:100%}.full-width-container[data-v-4a89caca]{max-width:1920px;margin-left:auto;margin-right:auto}@media only screen and (min-width:1920px){.full-width-container[data-v-4a89caca]{border-left:1px solid var(--color-grid);border-right:1px solid var(--color-grid);box-sizing:border-box}}
\ No newline at end of file
--- /dev/null
+/*!
+ * This source file is part of the Swift.org open source project
+ *
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ *
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */.generic-modal[data-v-795f7b59]{position:fixed;top:0;left:0;right:0;bottom:0;margin:0;z-index:11000;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;background:none;overflow:auto}.modal-fullscreen[data-v-795f7b59]{align-items:stretch}.modal-fullscreen .container[data-v-795f7b59]{margin:0;flex:1;width:100%;height:100%;padding-top:env(safe-area-inset-top);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left)}.modal-standard[data-v-795f7b59]{padding:20px}.modal-standard .container[data-v-795f7b59]{padding:60px;border-radius:var(--border-radius,4px)}@media screen{[data-color-scheme=dark] .modal-standard .container[data-v-795f7b59]{background:#1d1d1f}}@media screen and (prefers-color-scheme:dark){[data-color-scheme=auto] .modal-standard .container[data-v-795f7b59]{background:#1d1d1f}}@media only screen and (max-width:735px){.modal-standard[data-v-795f7b59]{padding:0;align-items:stretch}.modal-standard .container[data-v-795f7b59]{margin:20px 0 0;padding:50px 30px;flex:1;width:100%;border-bottom-left-radius:0;border-bottom-right-radius:0}}.backdrop[data-v-795f7b59]{overflow:auto;background:var(--backdrop-background,rgba(0,0,0,.4));-webkit-overflow-scrolling:touch;width:100%;height:100%;position:fixed}.container[data-v-795f7b59]{margin-left:auto;margin-right:auto;width:980px;background:var(--colors-generic-modal-background,var(--color-generic-modal-background));z-index:1;position:relative;overflow:auto;max-width:100%}@media only screen and (max-width:1250px){.container[data-v-795f7b59]{width:692px}}@media only screen and (max-width:735px){.container[data-v-795f7b59]{width:87.5%}}@media only screen and (max-width:320px){.container[data-v-795f7b59]{width:215px}}.close[data-v-795f7b59]{position:absolute;z-index:9999;top:22px;left:22px;width:17px;height:17px;color:#666;cursor:pointer;background:none;border:0;display:flex;align-items:center}.close .close-icon[data-v-795f7b59]{fill:currentColor;width:100%;height:100%}.theme-dark .container[data-v-795f7b59]{background:#000}.theme-dark .container .close[data-v-795f7b59]{color:#b0b0b0}.theme-code .container[data-v-795f7b59]{background-color:var(--code-background,var(--color-code-background))}
\ No newline at end of file
--- /dev/null
+/*!
+ * This source file is part of the Swift.org open source project
+ *
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ *
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */aside[data-v-3ccce809]{-moz-column-break-inside:avoid;break-inside:avoid;border-radius:var(--aside-border-radius,var(--border-radius,4px));border-style:var(--aside-border-style,solid);border-width:var(--aside-border-width,0 0 0 6px);padding:.94118rem;text-align:start}aside .label[data-v-3ccce809]{font-size:1rem;line-height:1.52941;font-weight:600;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}aside .label+[data-v-3ccce809]{margin-top:var(--spacing-stacked-margin-small)}aside.deprecated[data-v-3ccce809]{background-color:var(--color-aside-deprecated-background);border-color:var(--color-aside-deprecated-border);box-shadow:0 0 0 0 var(--color-aside-deprecated-border) inset,0 0 0 0 var(--color-aside-deprecated-border)}aside.deprecated .label[data-v-3ccce809]{color:var(--color-aside-deprecated)}aside.experiment[data-v-3ccce809]{background-color:var(--color-aside-experiment-background);border-color:var(--color-aside-experiment-border);box-shadow:0 0 0 0 var(--color-aside-experiment-border) inset,0 0 0 0 var(--color-aside-experiment-border)}aside.experiment .label[data-v-3ccce809]{color:var(--color-aside-experiment)}aside.important[data-v-3ccce809]{background-color:var(--color-aside-important-background);border-color:var(--color-aside-important-border);box-shadow:0 0 0 0 var(--color-aside-important-border) inset,0 0 0 0 var(--color-aside-important-border)}aside.important .label[data-v-3ccce809]{color:var(--color-aside-important)}aside.note[data-v-3ccce809]{background-color:var(--color-aside-note-background);border-color:var(--color-aside-note-border);box-shadow:0 0 0 0 var(--color-aside-note-border) inset,0 0 0 0 var(--color-aside-note-border)}aside.note .label[data-v-3ccce809]{color:var(--color-aside-note)}aside.tip[data-v-3ccce809]{background-color:var(--color-aside-tip-background);border-color:var(--color-aside-tip-border);box-shadow:0 0 0 0 var(--color-aside-tip-border) inset,0 0 0 0 var(--color-aside-tip-border)}aside.tip .label[data-v-3ccce809]{color:var(--color-aside-tip)}aside.warning[data-v-3ccce809]{background-color:var(--color-aside-warning-background);border-color:var(--color-aside-warning-border);box-shadow:0 0 0 0 var(--color-aside-warning-border) inset,0 0 0 0 var(--color-aside-warning-border)}aside.warning .label[data-v-3ccce809]{color:var(--color-aside-warning)}code[data-v-08295b2f]:before{content:attr(data-before-code)}code[data-v-08295b2f]:after{content:attr(data-after-code)}code[data-v-08295b2f]:after,code[data-v-08295b2f]:before{display:block;position:absolute;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(0 0 99.9% 99.9%);clip-path:inset(0 0 99.9% 99.9%);overflow:hidden;height:1px;width:1px;padding:0;border:0}.swift-file-icon.file-icon[data-v-c01a6890]{height:1rem}.file-icon[data-v-7c381064]{position:relative;align-items:flex-end;height:24px;margin:0 .5rem 0 1rem}.filename[data-v-c8c40662]{color:var(--text,var(--colors-secondary-label,var(--color-secondary-label)));font-size:.94118rem;line-height:1.1875;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);margin-top:1rem}@media only screen and (max-width:735px){.filename[data-v-c8c40662]{font-size:.82353rem;line-height:1.42857;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);margin-top:0}}.filename>a[data-v-c8c40662],.filename>span[data-v-c8c40662]{display:flex;align-items:center;line-height:normal}a[data-v-c8c40662]{color:var(--url,var(--color-link))}.code-line-container[data-v-59f42f5b]{display:inline-block;width:100%;box-sizing:border-box}.code-number[data-v-59f42f5b]{display:inline-block;padding:0 1rem 0 8px;text-align:right;min-width:2em;color:#666;-webkit-user-select:none;-moz-user-select:none;user-select:none}.code-number[data-v-59f42f5b]:before{content:attr(data-line-number)}.highlighted[data-v-59f42f5b]{background:var(--line-highlight,var(--color-code-line-highlight));border-left:4px solid var(--color-code-line-highlight-border)}.highlighted .code-number[data-v-59f42f5b]{padding-left:4px}pre[data-v-59f42f5b]{padding:14px 0;display:flex;overflow:unset;-webkit-overflow-scrolling:touch;white-space:pre;word-wrap:normal;height:100%}@media only screen and (max-width:735px){pre[data-v-59f42f5b]{padding-top:.82353rem}}code[data-v-59f42f5b]{white-space:pre;word-wrap:normal;flex-grow:9999}.code-listing[data-v-59f42f5b],.container-general[data-v-59f42f5b]{display:flex}.code-listing[data-v-59f42f5b]{flex-direction:column;min-height:100%;border-radius:var(--code-border-radius,var(--border-radius,4px));overflow:hidden;filter:blur(0)}.code-listing.single-line[data-v-59f42f5b]{border-radius:var(--border-radius,4px)}.container-general[data-v-59f42f5b]{overflow:auto}.container-general[data-v-59f42f5b],pre[data-v-59f42f5b]{flex-grow:1}.header-anchor[data-v-6007a8a4]{color:inherit;text-decoration:none;position:relative;padding-right:23px;display:inline-block}.header-anchor .icon[data-v-6007a8a4]{position:absolute;right:0;bottom:.2em;display:none;height:16px;margin-left:7px}.header-anchor:focus .icon[data-v-6007a8a4],.header-anchor:hover .icon[data-v-6007a8a4]{display:inline}code[data-v-05f4a5b7]{speak-punctuation:code}.container-general[data-v-25a17a0e]{display:flex;flex-flow:row wrap}.container-general .code-line[data-v-25a17a0e]{flex:1 0 auto}.code-line-container[data-v-25a17a0e]{width:100%;align-items:center;display:flex;border-left:4px solid transparent;counter-increment:linenumbers;padding-right:14px}.code-number[data-v-25a17a0e]{font-size:.70588rem;line-height:1.5;font-weight:400;font-family:var(--typography-html-font-mono,Menlo,monospace);padding:0 1rem 0 8px;text-align:right;min-width:2.01em;-webkit-user-select:none;-moz-user-select:none;user-select:none}.code-number[data-v-25a17a0e]:before{content:counter(linenumbers)}.code-line[data-v-25a17a0e]{display:flex}pre[data-v-25a17a0e]{padding:14px 0;display:flex;flex-flow:row wrap;overflow:auto;-webkit-overflow-scrolling:touch;white-space:pre;word-wrap:normal}@media only screen and (max-width:735px){pre[data-v-25a17a0e]{padding-top:.82353rem}}.collapsible-code-listing[data-v-25a17a0e]{background:var(--background,var(--color-code-background));border-color:var(--colors-grid,var(--color-grid));color:var(--text,var(--color-code-plain));border-radius:var(--border-radius,4px);border-style:solid;border-width:1px;counter-reset:linenumbers;font-size:15px}.collapsible-code-listing.single-line[data-v-25a17a0e]{border-radius:var(--border-radius,4px)}.collapsible[data-v-25a17a0e]{background:var(--color-code-collapsible-background);color:var(--color-code-collapsible-text)}.collapsed[data-v-25a17a0e]:before{content:"⋯";display:inline-block;font-family:monospace;font-weight:700;height:100%;line-height:1;text-align:right;width:2.3rem}.collapsed .code-line-container[data-v-25a17a0e]{height:0;visibility:hidden}.row[data-v-be73599c]{box-sizing:border-box;display:flex;flex-flow:row wrap}.col[data-v-2ee3ad8b]{box-sizing:border-box;flex:none}.xlarge-1[data-v-2ee3ad8b]{flex-basis:8.33333%;max-width:8.33333%}.xlarge-2[data-v-2ee3ad8b]{flex-basis:16.66667%;max-width:16.66667%}.xlarge-3[data-v-2ee3ad8b]{flex-basis:25%;max-width:25%}.xlarge-4[data-v-2ee3ad8b]{flex-basis:33.33333%;max-width:33.33333%}.xlarge-5[data-v-2ee3ad8b]{flex-basis:41.66667%;max-width:41.66667%}.xlarge-6[data-v-2ee3ad8b]{flex-basis:50%;max-width:50%}.xlarge-7[data-v-2ee3ad8b]{flex-basis:58.33333%;max-width:58.33333%}.xlarge-8[data-v-2ee3ad8b]{flex-basis:66.66667%;max-width:66.66667%}.xlarge-9[data-v-2ee3ad8b]{flex-basis:75%;max-width:75%}.xlarge-10[data-v-2ee3ad8b]{flex-basis:83.33333%;max-width:83.33333%}.xlarge-11[data-v-2ee3ad8b]{flex-basis:91.66667%;max-width:91.66667%}.xlarge-12[data-v-2ee3ad8b]{flex-basis:100%;max-width:100%}.xlarge-centered[data-v-2ee3ad8b]{margin-left:auto;margin-right:auto}.xlarge-uncentered[data-v-2ee3ad8b]{margin-left:0;margin-right:0}.large-1[data-v-2ee3ad8b]{flex-basis:8.33333%;max-width:8.33333%}.large-2[data-v-2ee3ad8b]{flex-basis:16.66667%;max-width:16.66667%}.large-3[data-v-2ee3ad8b]{flex-basis:25%;max-width:25%}.large-4[data-v-2ee3ad8b]{flex-basis:33.33333%;max-width:33.33333%}.large-5[data-v-2ee3ad8b]{flex-basis:41.66667%;max-width:41.66667%}.large-6[data-v-2ee3ad8b]{flex-basis:50%;max-width:50%}.large-7[data-v-2ee3ad8b]{flex-basis:58.33333%;max-width:58.33333%}.large-8[data-v-2ee3ad8b]{flex-basis:66.66667%;max-width:66.66667%}.large-9[data-v-2ee3ad8b]{flex-basis:75%;max-width:75%}.large-10[data-v-2ee3ad8b]{flex-basis:83.33333%;max-width:83.33333%}.large-11[data-v-2ee3ad8b]{flex-basis:91.66667%;max-width:91.66667%}.large-12[data-v-2ee3ad8b]{flex-basis:100%;max-width:100%}.large-centered[data-v-2ee3ad8b]{margin-left:auto;margin-right:auto}.large-uncentered[data-v-2ee3ad8b]{margin-left:0;margin-right:0}@media only screen and (max-width:1250px){.medium-1[data-v-2ee3ad8b]{flex-basis:8.33333%;max-width:8.33333%}.medium-2[data-v-2ee3ad8b]{flex-basis:16.66667%;max-width:16.66667%}.medium-3[data-v-2ee3ad8b]{flex-basis:25%;max-width:25%}.medium-4[data-v-2ee3ad8b]{flex-basis:33.33333%;max-width:33.33333%}.medium-5[data-v-2ee3ad8b]{flex-basis:41.66667%;max-width:41.66667%}.medium-6[data-v-2ee3ad8b]{flex-basis:50%;max-width:50%}.medium-7[data-v-2ee3ad8b]{flex-basis:58.33333%;max-width:58.33333%}.medium-8[data-v-2ee3ad8b]{flex-basis:66.66667%;max-width:66.66667%}.medium-9[data-v-2ee3ad8b]{flex-basis:75%;max-width:75%}.medium-10[data-v-2ee3ad8b]{flex-basis:83.33333%;max-width:83.33333%}.medium-11[data-v-2ee3ad8b]{flex-basis:91.66667%;max-width:91.66667%}.medium-12[data-v-2ee3ad8b]{flex-basis:100%;max-width:100%}.medium-centered[data-v-2ee3ad8b]{margin-left:auto;margin-right:auto}.medium-uncentered[data-v-2ee3ad8b]{margin-left:0;margin-right:0}}@media only screen and (max-width:735px){.small-1[data-v-2ee3ad8b]{flex-basis:8.33333%;max-width:8.33333%}.small-2[data-v-2ee3ad8b]{flex-basis:16.66667%;max-width:16.66667%}.small-3[data-v-2ee3ad8b]{flex-basis:25%;max-width:25%}.small-4[data-v-2ee3ad8b]{flex-basis:33.33333%;max-width:33.33333%}.small-5[data-v-2ee3ad8b]{flex-basis:41.66667%;max-width:41.66667%}.small-6[data-v-2ee3ad8b]{flex-basis:50%;max-width:50%}.small-7[data-v-2ee3ad8b]{flex-basis:58.33333%;max-width:58.33333%}.small-8[data-v-2ee3ad8b]{flex-basis:66.66667%;max-width:66.66667%}.small-9[data-v-2ee3ad8b]{flex-basis:75%;max-width:75%}.small-10[data-v-2ee3ad8b]{flex-basis:83.33333%;max-width:83.33333%}.small-11[data-v-2ee3ad8b]{flex-basis:91.66667%;max-width:91.66667%}.small-12[data-v-2ee3ad8b]{flex-basis:100%;max-width:100%}.small-centered[data-v-2ee3ad8b]{margin-left:auto;margin-right:auto}.small-uncentered[data-v-2ee3ad8b]{margin-left:0;margin-right:0}}@media only screen and (max-width:320px){.xsmall-1[data-v-2ee3ad8b]{flex-basis:8.33333%;max-width:8.33333%}.xsmall-2[data-v-2ee3ad8b]{flex-basis:16.66667%;max-width:16.66667%}.xsmall-3[data-v-2ee3ad8b]{flex-basis:25%;max-width:25%}.xsmall-4[data-v-2ee3ad8b]{flex-basis:33.33333%;max-width:33.33333%}.xsmall-5[data-v-2ee3ad8b]{flex-basis:41.66667%;max-width:41.66667%}.xsmall-6[data-v-2ee3ad8b]{flex-basis:50%;max-width:50%}.xsmall-7[data-v-2ee3ad8b]{flex-basis:58.33333%;max-width:58.33333%}.xsmall-8[data-v-2ee3ad8b]{flex-basis:66.66667%;max-width:66.66667%}.xsmall-9[data-v-2ee3ad8b]{flex-basis:75%;max-width:75%}.xsmall-10[data-v-2ee3ad8b]{flex-basis:83.33333%;max-width:83.33333%}.xsmall-11[data-v-2ee3ad8b]{flex-basis:91.66667%;max-width:91.66667%}.xsmall-12[data-v-2ee3ad8b]{flex-basis:100%;max-width:100%}.xsmall-centered[data-v-2ee3ad8b]{margin-left:auto;margin-right:auto}.xsmall-uncentered[data-v-2ee3ad8b]{margin-left:0;margin-right:0}}.tabnav[data-v-5283512a]{margin:0 0 1.47059rem 0;display:flex}.tabnav--center[data-v-5283512a]{justify-content:center}.tabnav--end[data-v-5283512a]{justify-content:flex-end}.tabnav--vertical[data-v-5283512a]{flex-flow:column wrap}.tabnav--vertical .tabnav-items[data-v-5283512a]{flex-flow:column;overflow:hidden}.tabnav--vertical[data-v-5283512a] .tabnav-item{padding-left:0}.tabnav--vertical[data-v-5283512a] .tabnav-item .tabnav-link{padding-top:8px}.tabnav-items[data-v-5283512a]{display:flex;margin:0;text-align:center}.tabnav-item[data-v-6aa9882a]{border-bottom:1px solid;border-color:var(--colors-tabnav-item-border-color,var(--color-tabnav-item-border-color));display:flex;list-style:none;padding-left:1.76471rem;margin:0;outline:none}.tabnav-item[data-v-6aa9882a]:first-child{padding-left:0}.tabnav-item[data-v-6aa9882a]:nth-child(n+1){margin:0}.tabnav-link[data-v-6aa9882a]{color:var(--colors-secondary-label,var(--color-secondary-label));font-size:.82353rem;line-height:1;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);padding:6px 0;margin-top:4px;margin-bottom:4px;text-align:left;text-decoration:none;display:block;position:relative;z-index:0;width:100%}.tabnav-link[data-v-6aa9882a]:hover{text-decoration:none}.tabnav-link[data-v-6aa9882a]:focus{outline-offset:-1px}.tabnav-link[data-v-6aa9882a]:after{content:"";position:absolute;bottom:-5px;left:0;width:100%;border:1px solid transparent}.tabnav-link.active[data-v-6aa9882a]{color:var(--colors-text,var(--color-text));cursor:default;z-index:10}.tabnav-link.active[data-v-6aa9882a]:after{border-bottom-color:var(--colors-text,var(--color-text))}.controls[data-v-c84e62a6]{margin-top:5px;font-size:14px;display:flex;justify-content:flex-end}.controls a[data-v-c84e62a6]{color:var(--colors-text,var(--color-text));display:flex;align-items:center}.controls .control-icon[data-v-c84e62a6]{width:1.05em;margin-right:.3em}.caption[data-v-1b76f4e0]{font-size:.82353rem;line-height:1.5;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);margin:0 0 var(--spacing-stacked-margin-large) 0}.caption.trailing[data-v-1b76f4e0]{margin:var(--spacing-stacked-margin-large) 0 0 0;text-align:center}caption.trailing[data-v-1b76f4e0]{caption-side:bottom}[data-v-1b76f4e0] p{display:inline-block}[data-v-3a939631] img{max-width:100%}.table-wrapper[data-v-5ed73c89]{overflow:auto;-webkit-overflow-scrolling:touch}*+.table-wrapper[data-v-5ed73c89],.table-wrapper[data-v-5ed73c89]+*{margin-top:var(--spacing-stacked-margin-xlarge)}table[data-v-5ed73c89]{border-style:hidden}[data-v-5ed73c89] th{font-weight:600;word-break:keep-all;-webkit-hyphens:auto;hyphens:auto}[data-v-5ed73c89] td,[data-v-5ed73c89] th{border-color:var(--color-fill-gray-tertiary);border-style:solid;border-width:var(--table-border-width,1px 1px);padding:.58824rem}[data-v-5ed73c89] td.left-cell,[data-v-5ed73c89] th.left-cell{text-align:left}[data-v-5ed73c89] td.right-cell,[data-v-5ed73c89] th.right-cell{text-align:right}[data-v-5ed73c89] td.center-cell,[data-v-5ed73c89] th.center-cell{text-align:center}s[data-v-7fc51673]:before{content:attr(data-before-text)}s[data-v-7fc51673]:after{content:attr(data-after-text)}s[data-v-7fc51673]:after,s[data-v-7fc51673]:before{position:absolute;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(0 0 99.9% 99.9%);clip-path:inset(0 0 99.9% 99.9%);overflow:hidden;height:1px;width:1px;padding:0;border:0}small[data-v-77035f61]{font-size:.82353rem;line-height:1.28571;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);color:var(--color-figure-gray)}.device-frame[data-v-28ae8fd3]{position:relative;width:var(--frame-width);aspect-ratio:var(--frame-aspect);max-width:100%;margin-left:auto;margin-right:auto;overflow:hidden}*+.device-frame[data-v-28ae8fd3],.device-frame[data-v-28ae8fd3]+*{margin-top:40px}.device[data-v-28ae8fd3]{background-image:var(--device-light-url);background-repeat:no-repeat;background-size:100%;width:100%;height:100%;position:relative;pointer-events:none}@media screen{[data-color-scheme=dark] .device[data-v-28ae8fd3]{background-image:var(--device-dark-url,var(--device-light-url))}}@media screen and (prefers-color-scheme:dark){[data-color-scheme=auto] .device[data-v-28ae8fd3]{background-image:var(--device-dark-url,var(--device-light-url))}}.no-device .device[data-v-28ae8fd3]{display:none}.device-screen.with-device[data-v-28ae8fd3]{position:absolute;left:var(--screen-left);top:var(--screen-top);height:var(--screen-height);width:var(--screen-width);display:flex}.device-screen.with-device>[data-v-28ae8fd3]{flex:1}.device-screen.with-device[data-v-28ae8fd3] img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;-o-object-position:top;object-position:top;margin:0}.device-screen.with-device[data-v-28ae8fd3] video{-o-object-fit:contain;object-fit:contain;-o-object-position:top;object-position:top;width:100%;height:auto}.video-replay-container .control-button[data-v-7653dfd0]{display:flex;align-items:center;justify-content:center;cursor:pointer;margin-top:.5rem;-webkit-tap-highlight-color:transparent}.video-replay-container .control-button svg.control-icon[data-v-7653dfd0]{height:12px;width:12px;margin-left:.3em}[data-v-dcbc7b38] img,[data-v-dcbc7b38] video{display:block;margin-left:auto;margin-right:auto;-o-object-fit:contain;object-fit:contain;max-width:100%}.asset[data-v-035a093f]{margin-left:auto;margin-right:auto}*+.asset[data-v-035a093f],.asset[data-v-035a093f]+*{margin-top:var(--spacing-stacked-margin-xlarge)}[data-v-035a093f] video{display:block;margin-left:auto;margin-right:auto;-o-object-fit:contain;object-fit:contain;max-width:100%}.column[data-v-0f654188]{grid-column:span var(--col-span);min-width:0}@media only screen and (max-width:735px){.column[data-v-0f654188]{grid-column:span 1}}.row[data-v-1bcb2d0f]{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;grid-gap:var(--col-gap,20px)}@media only screen and (max-width:735px){.row[data-v-1bcb2d0f]{grid-template-columns:1fr;grid-auto-flow:row}}.row.with-columns[data-v-1bcb2d0f]{--col-count:var(--col-count-large);grid-template-columns:repeat(var(--col-count),1fr);grid-auto-flow:row}@media only screen and (max-width:1250px){.row.with-columns[data-v-1bcb2d0f]{--col-count:var(--col-count-medium,var(--col-count-large))}}@media only screen and (max-width:735px){.row.with-columns[data-v-1bcb2d0f]{--col-count:var(--col-count-small)}}*+.row[data-v-1bcb2d0f],*+.TabNavigator[data-v-e671a734],.row[data-v-1bcb2d0f]+*,.TabNavigator[data-v-e671a734]+*{margin-top:var(--spacing-stacked-margin-xlarge)}.TabNavigator .tabnav[data-v-e671a734]{overflow:auto;white-space:nowrap}.TabNavigator .tabs-content-container[data-v-e671a734]{position:relative;overflow:hidden}.tabs--vertical[data-v-e671a734]{display:flex;flex-flow:row-reverse}@media only screen and (max-width:735px){.tabs--vertical[data-v-e671a734]{flex-flow:column-reverse}}.tabs--vertical .tabnav[data-v-e671a734]{width:30%;flex:0 0 auto;white-space:normal;margin:0}@media only screen and (max-width:735px){.tabs--vertical .tabnav[data-v-e671a734]{width:100%}}.tabs--vertical .tabs-content[data-v-e671a734]{flex:1 1 auto;min-width:0;padding-right:var(--spacing-stacked-margin-xlarge)}@media only screen and (max-width:735px){.tabs--vertical .tabs-content[data-v-e671a734]{padding-right:0;padding-bottom:var(--spacing-stacked-margin-large)}}.fade-enter-active[data-v-e671a734],.fade-leave-active[data-v-e671a734]{transition:opacity .2s ease-in-out}.fade-enter[data-v-e671a734],.fade-leave-to[data-v-e671a734]{opacity:0}.fade-leave-active[data-v-e671a734]{position:absolute;top:0;left:0;right:0}.tasklist[data-v-6a56a858]{--checkbox-width:1rem;--indent-width:calc(var(--checkbox-width)/2);--content-margin:var(--indent-width);list-style-type:none;margin-left:var(--indent-width)}p[data-v-6a56a858]{margin-left:var(--content-margin)}p[data-v-6a56a858]:only-child{--content-margin:calc(var(--checkbox-width) + var(--indent-width))}input[type=checkbox]+p[data-v-6a56a858]{display:inline-block}.button-cta[data-v-c9c81868]{background:var(--colors-button-light-background,var(--color-button-background));border-color:var(--color-button-border,currentcolor);border-radius:var(--button-border-radius,var(--border-radius,4px));border-style:var(--button-border-style,none);border-width:var(--button-border-width,medium);color:var(--colors-button-text,var(--color-button-text));cursor:pointer;min-width:1.76471rem;padding:.23529rem .88235rem;text-align:center;white-space:nowrap;display:inline-block;font-size:1rem;line-height:1.47059;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}.button-cta[data-v-c9c81868]:active{background:var(--colors-button-light-backgroundActive,var(--color-button-background-active));outline:none}.button-cta[data-v-c9c81868]:hover:not([disabled]){background:var(--colors-button-light-backgroundHover,var(--color-button-background-hover));text-decoration:none}.button-cta[data-v-c9c81868]:disabled{opacity:.32;cursor:default}.fromkeyboard .button-cta[data-v-c9c81868]:focus{box-shadow:0 0 0 4px var(--color-focus-color);outline:none}.button-cta.is-dark[data-v-c9c81868]{background:var(--colors-button-dark-background,#06f)}.button-cta.is-dark[data-v-c9c81868]:active{background:var(--colors-button-dark-backgroundActive,var(--color-button-background-active))}.button-cta.is-dark[data-v-c9c81868]:hover:not([disabled]){background:var(--colors-button-dark-backgroundHover,var(--color-button-background-hover))}.card-cover-wrap.rounded[data-v-0c1c40a1]{border-radius:var(--border-radius,4px);overflow:hidden}.card-cover[data-v-0c1c40a1]{background-color:var(--color-card-background);display:block;height:var(--card-cover-height,180px)}.card-cover.fallback[data-v-0c1c40a1],.card-cover[data-v-0c1c40a1] img{width:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;display:block;margin:0}.card-cover[data-v-0c1c40a1] img{height:100%}.card[data-v-328d568a]{overflow:hidden;display:block;transition:box-shadow,transform .16s ease-out;will-change:box-shadow,transform;-webkit-backface-visibility:hidden;backface-visibility:hidden;height:var(--card-height);border-radius:var(--border-radius,4px)}.card[data-v-328d568a]:hover{text-decoration:none}.card:hover .link[data-v-328d568a]{text-decoration:underline}.card[data-v-328d568a]:hover{box-shadow:0 5px 10px var(--color-card-shadow);transform:scale(1.007)}@media (prefers-reduced-motion:reduce){.card[data-v-328d568a]:hover{box-shadow:none;transform:none}}.card.small[data-v-328d568a]{--card-height:408px;--card-details-height:139px;--card-cover-height:235px}@media only screen and (max-width:1250px){.card.small[data-v-328d568a]{--card-height:341px;--card-details-height:144px;--card-cover-height:163px}}.card.large[data-v-328d568a]{--card-height:556px;--card-details-height:163px;--card-cover-height:359px}@media only screen and (max-width:1250px){.card.large[data-v-328d568a]{--card-height:420px;--card-details-height:137px;--card-cover-height:249px}}.card.floating-style[data-v-328d568a]{--color-card-shadow:transparent;--card-height:auto;--card-details-height:auto}.details[data-v-328d568a]{background-color:var(--color-card-background);padding:17px;position:relative;height:var(--card-details-height);font-size:.82353rem;line-height:1.28571}.details[data-v-328d568a],.large .details[data-v-328d568a]{font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}.large .details[data-v-328d568a]{font-size:1rem;line-height:1.47059}@media only screen and (max-width:1250px){.large .details[data-v-328d568a]{font-size:.82353rem;line-height:1.28571;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}.floating-style .details[data-v-328d568a]{--color-card-background:transparent;padding:17px 0}.eyebrow[data-v-328d568a]{color:var(--color-card-eyebrow);display:block;margin-bottom:4px;font-size:.82353rem;line-height:1.28571}.eyebrow[data-v-328d568a],.large .eyebrow[data-v-328d568a]{font-weight:600;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}.large .eyebrow[data-v-328d568a]{font-size:1rem;line-height:1.23529}@media only screen and (max-width:1250px){.large .eyebrow[data-v-328d568a]{font-size:.82353rem;line-height:1.28571;font-weight:600;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}.title[data-v-328d568a]{color:var(--color-card-content-text);font-size:1rem;line-height:1.23529;font-weight:600;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}@media only screen and (max-width:1250px){.title[data-v-328d568a]{font-size:.82353rem;line-height:1.28571;font-weight:600;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}@media only screen and (max-width:735px){.title[data-v-328d568a]{font-size:1rem;line-height:1.23529;font-weight:600;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}.large .title[data-v-328d568a]{font-size:1.23529rem;line-height:1.19048;font-weight:600;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}@media only screen and (max-width:1250px){.large .title[data-v-328d568a]{font-size:1rem;line-height:1.23529;font-weight:600;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}.card-content[data-v-328d568a]{color:var(--color-card-content-text);margin-top:4px}.link[data-v-328d568a]{bottom:17px;display:flex;align-items:center;position:absolute}.link .link-icon[data-v-328d568a]{height:.6em;width:.6em;margin-left:.3em}.floating-style .link[data-v-328d568a]{bottom:unset;margin-top:var(--spacing-stacked-margin-large);position:relative}@media only screen and (max-width:735px){.card[data-v-328d568a]{margin-left:auto;margin-right:auto}.card+.card[data-v-328d568a]{margin-bottom:20px;margin-top:20px}.card.large[data-v-328d568a],.card.small[data-v-328d568a]{--card-height:auto;--card-details-height:auto;min-width:280px;max-width:300px;--card-cover-height:227px}.card.large .link[data-v-328d568a],.card.small .link[data-v-328d568a]{bottom:unset;margin-top:7px;position:relative}}.nav-menu-items[data-v-67c1c0a5]{display:flex;justify-content:flex-end}.nav--in-breakpoint-range .nav-menu-items[data-v-67c1c0a5]{display:block;opacity:0;padding:1rem 1.88235rem 1.64706rem 1.88235rem;transform:translate3d(0,-50px,0);transition:transform 1s cubic-bezier(.07,1.06,.27,.95) .5s,opacity .7s cubic-bezier(.07,1.06,.27,.95) .2s}.nav--is-open.nav--in-breakpoint-range .nav-menu-items[data-v-67c1c0a5]{opacity:1;transform:translateZ(0);transition-delay:.2s,.4s}.nav--in-breakpoint-range .nav-menu-items[data-v-67c1c0a5]:not(:only-child):not(:last-child){padding-bottom:0}.nav--in-breakpoint-range .nav-menu-items[data-v-67c1c0a5]:not(:only-child):last-child{padding-top:0}.TopicTypeIcon[data-v-18b61706]{width:1em;height:1em;flex:0 0 auto;color:var(--icon-color,var(--color-figure-gray-secondary))}.TopicTypeIcon[data-v-18b61706] picture{flex:1}.TopicTypeIcon[data-v-18b61706] img,.TopicTypeIcon svg[data-v-18b61706]{display:block;width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.nav[data-v-5c0521d3]{position:sticky;top:0;width:100%;height:3.05882rem;z-index:9997;--nav-padding:1.29412rem;color:var(--color-nav-color)}@media print{.nav[data-v-5c0521d3]{position:relative}}@media only screen and (max-width:767px){.nav[data-v-5c0521d3]{min-width:320px;height:2.82353rem}}.theme-dark.nav[data-v-5c0521d3]{background:none;color:var(--color-nav-dark-color)}.nav__wrapper[data-v-5c0521d3]{position:absolute;top:0;left:0;width:100%;height:auto;min-height:100%;z-index:1}.nav__background[data-v-5c0521d3]{position:absolute;left:0;top:0;width:100%;height:100%;z-index:1;transition:background-color 0s ease-in}.nav__background[data-v-5c0521d3]:after{background-color:var(--color-nav-keyline)}.nav--no-bg-transition .nav__background[data-v-5c0521d3]{transition:none!important}.nav--solid-background .nav__background[data-v-5c0521d3]{background-color:var(--color-nav-solid-background);-webkit-backdrop-filter:none;backdrop-filter:none}.nav--is-open.nav--solid-background .nav__background[data-v-5c0521d3],.nav--is-sticking.nav--solid-background .nav__background[data-v-5c0521d3]{background-color:var(--color-nav-solid-background)}.nav--is-open.theme-dark.nav--solid-background .nav__background[data-v-5c0521d3],.nav--is-sticking.theme-dark.nav--solid-background .nav__background[data-v-5c0521d3],.theme-dark.nav--solid-background .nav__background[data-v-5c0521d3]{background-color:var(--color-nav-dark-solid-background)}.nav--in-breakpoint-range .nav__background[data-v-5c0521d3]{min-height:2.82353rem;transition:background-color 0s ease .7s}.nav--is-sticking .nav__background[data-v-5c0521d3]{background-color:var(--color-nav-expanded);max-height:none;transition:background-color 0s ease;transition-property:background-color,-webkit-backdrop-filter;transition-property:background-color,backdrop-filter;transition-property:background-color,backdrop-filter,-webkit-backdrop-filter}.nav--is-sticking .nav__background[data-v-5c0521d3]:after{background-color:var(--color-nav-sticking-expanded-keyline)}@supports ((-webkit-backdrop-filter:initial) or (backdrop-filter:initial)){.nav--is-sticking .nav__background[data-v-5c0521d3]{-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);background-color:var(--color-nav-uiblur-stuck)}}.theme-dark.nav--is-sticking .nav__background[data-v-5c0521d3]{background-color:var(--color-nav-dark-stuck)}@supports ((-webkit-backdrop-filter:initial) or (backdrop-filter:initial)){.theme-dark.nav--is-sticking .nav__background[data-v-5c0521d3]{background-color:var(--color-nav-dark-uiblur-stuck)}}.nav--is-open .nav__background[data-v-5c0521d3]{background-color:var(--color-nav-expanded);max-height:none;transition:background-color 0s ease;transition-property:background-color,-webkit-backdrop-filter;transition-property:background-color,backdrop-filter;transition-property:background-color,backdrop-filter,-webkit-backdrop-filter}.nav--is-open .nav__background[data-v-5c0521d3]:after{background-color:var(--color-nav-sticking-expanded-keyline)}@supports ((-webkit-backdrop-filter:initial) or (backdrop-filter:initial)){.nav--is-open .nav__background[data-v-5c0521d3]{-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);background-color:var(--color-nav-uiblur-expanded)}}.theme-dark.nav--is-open .nav__background[data-v-5c0521d3]{background-color:var(--color-nav-dark-expanded)}@supports ((-webkit-backdrop-filter:initial) or (backdrop-filter:initial)){.theme-dark.nav--is-open .nav__background[data-v-5c0521d3]{background-color:var(--color-nav-dark-uiblur-expanded)}}.theme-dark .nav__background[data-v-5c0521d3]:after{background-color:var(--color-nav-dark-keyline)}.nav--is-open.theme-dark .nav__background[data-v-5c0521d3]:after,.nav--is-sticking.theme-dark .nav__background[data-v-5c0521d3]:after{background-color:var(--color-nav-dark-sticking-expanded-keyline)}.nav__background[data-v-5c0521d3]:after{content:"";display:block;position:absolute;top:100%;left:50%;transform:translateX(-50%);width:980px;height:1px;z-index:1}@media only screen and (max-width:1023px){.nav__background[data-v-5c0521d3]:after{width:100%}}.nav--noborder .nav__background[data-v-5c0521d3]:after{display:none}.nav--is-sticking.nav--noborder .nav__background[data-v-5c0521d3]:after{display:block}.nav--fullwidth-border .nav__background[data-v-5c0521d3]:after,.nav--is-open .nav__background[data-v-5c0521d3]:after,.nav--is-sticking .nav__background[data-v-5c0521d3]:after,.nav--solid-background .nav__background[data-v-5c0521d3]:after{width:100%}.nav-overlay[data-v-5c0521d3]{position:fixed;left:0;right:0;top:0;display:block;opacity:0}.nav--is-open .nav-overlay[data-v-5c0521d3]{background-color:rgba(51,51,51,.4);transition:opacity .7s cubic-bezier(.07,1.06,.27,.95) .2s;bottom:0;opacity:1}.nav-wrapper[data-v-5c0521d3]{position:absolute;top:0;left:0;width:100%;height:auto;min-height:100%;z-index:1}.pre-title[data-v-5c0521d3]{display:flex;overflow:hidden;padding-left:1.29412rem;margin-left:-1.29412rem}.pre-title[data-v-5c0521d3]:empty{display:none}.nav--in-breakpoint-range .pre-title[data-v-5c0521d3]{overflow:visible;padding:0;margin-left:0}.nav-content[data-v-5c0521d3]{display:flex;padding:0 var(--nav-padding);max-width:980px;margin:0 auto;position:relative;z-index:2;justify-content:space-between}.nav--is-wide-format .nav-content[data-v-5c0521d3]{box-sizing:border-box;max-width:1920px;margin-left:auto;margin-right:auto}@supports (padding:calc(max(0px))){.nav-content[data-v-5c0521d3]{padding-left:calc(max(var(--nav-padding), env(safe-area-inset-left)));padding-right:calc(max(var(--nav-padding), env(safe-area-inset-right)))}}@media only screen and (max-width:767px){.nav-content[data-v-5c0521d3]{padding:0 0 0 .94118rem}}.nav--in-breakpoint-range .nav-content[data-v-5c0521d3]{display:grid;grid-template-columns:auto 1fr auto;grid-auto-rows:minmax(-webkit-min-content,-webkit-max-content);grid-auto-rows:minmax(min-content,max-content);grid-template-areas:"pre-title title actions" "menu menu menu"}.nav-menu[data-v-5c0521d3]{font-size:.70588rem;line-height:1;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);flex:1 1 auto;display:flex;min-width:0}@media only screen and (max-width:767px){.nav-menu[data-v-5c0521d3]{font-size:.82353rem;line-height:1;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}.nav--in-breakpoint-range .nav-menu[data-v-5c0521d3]{font-size:.82353rem;line-height:1;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);grid-area:menu}.nav-menu-tray[data-v-5c0521d3]{width:100%;max-width:100%;align-items:center;display:flex;justify-content:space-between}.nav--in-breakpoint-range .nav-menu-tray[data-v-5c0521d3]{display:block;overflow:hidden;pointer-events:none;visibility:hidden;max-height:0;transition:max-height .4s ease-in 0s,visibility 0s linear 1s}.nav--is-open.nav--in-breakpoint-range .nav-menu-tray[data-v-5c0521d3]{max-height:calc(100vh - 5.64706rem);overflow-y:auto;-webkit-overflow-scrolling:touch;pointer-events:auto;visibility:visible;transition-delay:.2s,0s}.nav--is-transitioning.nav--is-open.nav--in-breakpoint-range .nav-menu-tray[data-v-5c0521d3]{overflow-y:hidden}.nav--is-sticking.nav--is-open.nav--in-breakpoint-range .nav-menu-tray[data-v-5c0521d3]{max-height:calc(100vh - 2.82353rem)}.nav-actions[data-v-5c0521d3]{display:flex;align-items:center}.nav--in-breakpoint-range .nav-actions[data-v-5c0521d3]{grid-area:actions;justify-content:flex-end}@media only screen and (max-width:767px){.nav-actions[data-v-5c0521d3]{padding-right:.94118rem}}.nav--in-breakpoint-range .pre-title+.nav-title[data-v-5c0521d3]{grid-area:title}.nav--is-wide-format.nav--in-breakpoint-range .pre-title+.nav-title[data-v-5c0521d3]{width:100%;justify-content:center}.nav-title[data-v-5c0521d3]{height:3.05882rem;font-size:1.11765rem;line-height:1.42105;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);cursor:default;display:flex;align-items:center;white-space:nowrap;box-sizing:border-box}@media only screen and (max-width:767px){.nav-title[data-v-5c0521d3]{padding-top:0;height:2.82353rem;width:90%}}.nav-title[data-v-5c0521d3] span{height:100%;line-height:normal}.nav-title a[data-v-5c0521d3]{display:inline-block;letter-spacing:inherit;line-height:normal;margin:0;text-decoration:none;white-space:nowrap}.nav-title a[data-v-5c0521d3]:hover{text-decoration:none}@media only screen and (max-width:767px){.nav-title a[data-v-5c0521d3]{display:flex}}.nav-title[data-v-5c0521d3],.nav-title a[data-v-5c0521d3]{color:var(--color-figure-gray);transition:color 0s ease-in}.nav--is-open.theme-dark .nav-title[data-v-5c0521d3],.nav--is-open.theme-dark .nav-title a[data-v-5c0521d3],.nav--is-sticking.theme-dark .nav-title[data-v-5c0521d3],.nav--is-sticking.theme-dark .nav-title a[data-v-5c0521d3],.theme-dark .nav-title[data-v-5c0521d3],.theme-dark .nav-title a[data-v-5c0521d3]{color:var(--color-nav-dark-link-color)}.nav-ax-toggle[data-v-5c0521d3]{display:none;position:absolute;top:0;left:0;width:1px;height:1px;z-index:10}.nav-ax-toggle[data-v-5c0521d3]:focus{outline-offset:-6px;width:100%;height:100%}.nav--in-breakpoint-range .nav-ax-toggle[data-v-5c0521d3]{display:block}.nav-menucta[data-v-5c0521d3]{cursor:pointer;display:none;align-items:center;overflow:hidden;width:1.17647rem;-webkit-tap-highlight-color:transparent;height:2.82353rem}.nav--in-breakpoint-range .nav-menucta[data-v-5c0521d3]{display:flex}.nav-menucta-chevron[data-v-5c0521d3]{display:block;position:relative;width:100%;height:.70588rem;transition:transform .3s linear}.nav-menucta-chevron[data-v-5c0521d3]:after,.nav-menucta-chevron[data-v-5c0521d3]:before{content:"";display:block;position:absolute;top:.58824rem;width:.70588rem;height:.05882rem;transition:transform .3s linear;background:var(--color-figure-gray)}.nav-menucta-chevron[data-v-5c0521d3]:before{right:50%;border-radius:.5px 0 0 .5px}.nav-menucta-chevron[data-v-5c0521d3]:after{left:50%;border-radius:0 .5px .5px 0}.nav-menucta-chevron[data-v-5c0521d3]:before{transform-origin:100% 100%;transform:rotate(40deg) scaleY(1.5)}.nav-menucta-chevron[data-v-5c0521d3]:after{transform-origin:0 100%;transform:rotate(-40deg) scaleY(1.5)}.nav--is-open .nav-menucta-chevron[data-v-5c0521d3]{transform:scaleY(-1)}.theme-dark .nav-menucta-chevron[data-v-5c0521d3]:after,.theme-dark .nav-menucta-chevron[data-v-5c0521d3]:before{background:var(--color-nav-dark-link-color)}[data-v-5c0521d3] .nav-menu-link{color:var(--color-nav-link-color)}[data-v-5c0521d3] .nav-menu-link:hover{color:var(--color-nav-link-color-hover);text-decoration:none}.theme-dark[data-v-5c0521d3] .nav-menu-link{color:var(--color-nav-dark-link-color)}.theme-dark[data-v-5c0521d3] .nav-menu-link:hover{color:var(--color-nav-dark-link-color-hover)}[data-v-5c0521d3] .nav-menu-link.current{color:var(--color-nav-current-link);cursor:default}[data-v-5c0521d3] .nav-menu-link.current:hover{color:var(--color-nav-current-link)}.theme-dark[data-v-5c0521d3] .nav-menu-link.current,.theme-dark[data-v-5c0521d3] .nav-menu-link.current:hover{color:var(--color-nav-dark-current-link)}.reference-card-grid-item[data-v-08a5e3f8]{--card-cover-height:auto}.reference-card-grid-item.card.large[data-v-08a5e3f8]{--card-cover-height:auto;min-width:0;max-width:none}.reference-card-grid-item[data-v-08a5e3f8] .card-cover{aspect-ratio:16/9}.reference-card-grid-item[data-v-08a5e3f8] .card-cover-wrap{border:1px solid var(--color-link-block-card-border)}.reference-card-grid-item__image[data-v-08a5e3f8]{display:flex;align-items:center;justify-content:center;font-size:80px;background-color:var(--color-fill-gray-quaternary)}.reference-card-grid-item__icon[data-v-08a5e3f8]{margin:0;display:flex;justify-content:center}.reference-card-grid-item__icon[data-v-08a5e3f8] .icon-inline{flex:1 1 auto}.nav-menu-item[data-v-66cbfe4c]{margin-left:1.41176rem;list-style:none;min-width:0}.nav--in-breakpoint-range .nav-menu-item[data-v-66cbfe4c]{margin-left:0;width:100%;min-height:2.47059rem}.nav--in-breakpoint-range .nav-menu-item[data-v-66cbfe4c]:first-child .nav-menu-link{border-top:0}.nav--in-breakpoint-range .nav-menu-item--animated[data-v-66cbfe4c]{opacity:0;transform:none;transition:.5s ease;transition-property:transform,opacity}.nav--is-open.nav--in-breakpoint-range .nav-menu-item--animated[data-v-66cbfe4c]{opacity:1;transform:translateZ(0);transition-delay:0s}.nav--in-breakpoint-range [data-previous-menu-children-count="0"] .nav-menu-item--animated[data-v-66cbfe4c]:first-child,.nav--in-breakpoint-range [data-previous-menu-children-count="0"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(2),.nav--in-breakpoint-range [data-previous-menu-children-count="0"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(3),.nav--in-breakpoint-range [data-previous-menu-children-count="0"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(4),.nav--in-breakpoint-range [data-previous-menu-children-count="0"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(5),.nav--in-breakpoint-range [data-previous-menu-children-count="0"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(6),.nav--in-breakpoint-range [data-previous-menu-children-count="0"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(7),.nav--in-breakpoint-range [data-previous-menu-children-count="1"] .nav-menu-item--animated[data-v-66cbfe4c]:first-child,.nav--in-breakpoint-range [data-previous-menu-children-count="1"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(2),.nav--in-breakpoint-range [data-previous-menu-children-count="1"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(3),.nav--in-breakpoint-range [data-previous-menu-children-count="1"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(4),.nav--in-breakpoint-range [data-previous-menu-children-count="1"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(5),.nav--in-breakpoint-range [data-previous-menu-children-count="1"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(6),.nav--in-breakpoint-range [data-previous-menu-children-count="1"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(7),.nav--in-breakpoint-range [data-previous-menu-children-count="2"] .nav-menu-item--animated[data-v-66cbfe4c]:first-child,.nav--in-breakpoint-range [data-previous-menu-children-count="2"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(2),.nav--in-breakpoint-range [data-previous-menu-children-count="2"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(3),.nav--in-breakpoint-range [data-previous-menu-children-count="2"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(4),.nav--in-breakpoint-range [data-previous-menu-children-count="2"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(5),.nav--in-breakpoint-range [data-previous-menu-children-count="2"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(6),.nav--in-breakpoint-range [data-previous-menu-children-count="2"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(7),.nav--in-breakpoint-range [data-previous-menu-children-count="3"] .nav-menu-item--animated[data-v-66cbfe4c]:first-child,.nav--in-breakpoint-range [data-previous-menu-children-count="3"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(2),.nav--in-breakpoint-range [data-previous-menu-children-count="3"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(3),.nav--in-breakpoint-range [data-previous-menu-children-count="3"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(4),.nav--in-breakpoint-range [data-previous-menu-children-count="3"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(5),.nav--in-breakpoint-range [data-previous-menu-children-count="3"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(6),.nav--in-breakpoint-range [data-previous-menu-children-count="3"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(7),.nav--in-breakpoint-range [data-previous-menu-children-count="4"] .nav-menu-item--animated[data-v-66cbfe4c]:first-child,.nav--in-breakpoint-range [data-previous-menu-children-count="4"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(2),.nav--in-breakpoint-range [data-previous-menu-children-count="4"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(3),.nav--in-breakpoint-range [data-previous-menu-children-count="4"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(4),.nav--in-breakpoint-range [data-previous-menu-children-count="4"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(5),.nav--in-breakpoint-range [data-previous-menu-children-count="4"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(6),.nav--in-breakpoint-range [data-previous-menu-children-count="4"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(7),.nav--in-breakpoint-range [data-previous-menu-children-count="5"] .nav-menu-item--animated[data-v-66cbfe4c]:first-child,.nav--in-breakpoint-range [data-previous-menu-children-count="5"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(2),.nav--in-breakpoint-range [data-previous-menu-children-count="5"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(3),.nav--in-breakpoint-range [data-previous-menu-children-count="5"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(4),.nav--in-breakpoint-range [data-previous-menu-children-count="5"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(5),.nav--in-breakpoint-range [data-previous-menu-children-count="5"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(6),.nav--in-breakpoint-range [data-previous-menu-children-count="5"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(7),.nav--in-breakpoint-range [data-previous-menu-children-count="6"] .nav-menu-item--animated[data-v-66cbfe4c]:first-child,.nav--in-breakpoint-range [data-previous-menu-children-count="6"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(2),.nav--in-breakpoint-range [data-previous-menu-children-count="6"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(3),.nav--in-breakpoint-range [data-previous-menu-children-count="6"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(4),.nav--in-breakpoint-range [data-previous-menu-children-count="6"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(5),.nav--in-breakpoint-range [data-previous-menu-children-count="6"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(6),.nav--in-breakpoint-range [data-previous-menu-children-count="6"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(7),.nav--in-breakpoint-range [data-previous-menu-children-count="7"] .nav-menu-item--animated[data-v-66cbfe4c]:first-child,.nav--in-breakpoint-range [data-previous-menu-children-count="7"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(2),.nav--in-breakpoint-range [data-previous-menu-children-count="7"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(3),.nav--in-breakpoint-range [data-previous-menu-children-count="7"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(4),.nav--in-breakpoint-range [data-previous-menu-children-count="7"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(5),.nav--in-breakpoint-range [data-previous-menu-children-count="7"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(6),.nav--in-breakpoint-range [data-previous-menu-children-count="7"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(7),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="0"] .nav-menu-item--animated[data-v-66cbfe4c]:first-child,.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="0"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(2),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="0"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(3),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="0"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(4),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="0"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(5),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="0"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(6),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="0"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(7),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="1"] .nav-menu-item--animated[data-v-66cbfe4c]:first-child,.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="1"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(2),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="1"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(3),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="1"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(4),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="1"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(5),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="1"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(6),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="1"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(7),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="2"] .nav-menu-item--animated[data-v-66cbfe4c]:first-child,.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="2"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(2),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="2"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(3),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="2"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(4),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="2"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(5),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="2"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(6),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="2"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(7),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="3"] .nav-menu-item--animated[data-v-66cbfe4c]:first-child,.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="3"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(2),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="3"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(3),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="3"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(4),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="3"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(5),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="3"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(6),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="3"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(7),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="4"] .nav-menu-item--animated[data-v-66cbfe4c]:first-child,.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="4"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(2),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="4"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(3),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="4"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(4),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="4"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(5),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="4"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(6),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="4"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(7),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="5"] .nav-menu-item--animated[data-v-66cbfe4c]:first-child,.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="5"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(2),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="5"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(3),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="5"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(4),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="5"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(5),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="5"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(6),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="5"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(7),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="6"] .nav-menu-item--animated[data-v-66cbfe4c]:first-child,.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="6"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(2),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="6"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(3),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="6"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(4),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="6"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(5),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="6"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(6),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="6"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(7),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="7"] .nav-menu-item--animated[data-v-66cbfe4c]:first-child,.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="7"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(2),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="7"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(3),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="7"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(4),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="7"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(5),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="7"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(6),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="7"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(7){transition-delay:0s}.links-block[data-v-ce6f87f6]+*{margin-top:var(--spacing-stacked-margin-xlarge)}.topic-link-block[data-v-ce6f87f6]{margin-top:15px}
\ No newline at end of file
--- /dev/null
+/*!
+ * This source file is part of the Swift.org open source project
+ *
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ *
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */.color-scheme-toggle[data-v-02a6f6ec]{--toggle-color-fill:var(--color-button-background);--toggle-color-text:var(--color-fill-blue);font-size:.70588rem;line-height:1.33333;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);border:1px solid var(--toggle-color-fill);border-radius:var(--toggle-border-radius-outer,var(--border-radius,4px));display:inline-flex;padding:1px}@media screen{[data-color-scheme=dark] .color-scheme-toggle[data-v-02a6f6ec]{--toggle-color-text:var(--color-figure-blue)}}@media screen and (prefers-color-scheme:dark){[data-color-scheme=auto] .color-scheme-toggle[data-v-02a6f6ec]{--toggle-color-text:var(--color-figure-blue)}}@media print{.color-scheme-toggle[data-v-02a6f6ec]{display:none}}input[data-v-02a6f6ec]{position:absolute;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(0 0 99.9% 99.9%);clip-path:inset(0 0 99.9% 99.9%);overflow:hidden;height:1px;width:1px;padding:0;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.fromkeyboard label[data-v-02a6f6ec]:focus-within{outline:4px solid var(--color-focus-color);outline-offset:1px}.text[data-v-02a6f6ec]{border:1px solid transparent;border-radius:var(--toggle-border-radius-inner,2px);color:var(--toggle-color-text);display:inline-block;text-align:center;padding:1px 6px;min-width:42px;box-sizing:border-box}.text[data-v-02a6f6ec]:hover{cursor:pointer}input:checked+.text[data-v-02a6f6ec]{--toggle-color-text:var(--color-button-text);background:var(--toggle-color-fill);border-color:var(--toggle-color-fill)}.footer[data-v-4e049dbd]{border-top:1px solid var(--color-grid)}.row[data-v-4e049dbd]{margin-left:auto;margin-right:auto;width:980px;display:flex;flex-direction:row-reverse;margin:20px auto}@media only screen and (max-width:1250px){.row[data-v-4e049dbd]{width:692px}}@media only screen and (max-width:735px){.row[data-v-4e049dbd]{width:87.5%}}@media only screen and (max-width:320px){.row[data-v-4e049dbd]{width:215px}}@media only screen and (max-width:735px){.row[data-v-4e049dbd]{width:100%;padding:0 .94118rem;box-sizing:border-box}}.InitialLoadingPlaceholder[data-v-35c356b6]{background:var(--colors-loading-placeholder-background,var(--color-loading-placeholder-background));height:100vh;width:100%}.svg-icon[data-v-33d3200a]{fill:var(--colors-svg-icon-fill-light,var(--color-svg-icon));transform:scale(1);-webkit-transform:scale(1);overflow:visible}.theme-dark .svg-icon[data-v-33d3200a]{fill:var(--colors-svg-icon-fill-dark,var(--color-svg-icon))}.svg-icon.icon-inline[data-v-33d3200a]{display:inline-block;vertical-align:middle;fill:currentColor}.svg-icon.icon-inline[data-v-33d3200a] .svg-icon-stroke{stroke:currentColor}[data-v-33d3200a] .svg-icon-stroke{stroke:var(--colors-svg-icon-fill-light,var(--color-svg-icon))}.theme-dark[data-v-33d3200a] .svg-icon-stroke{stroke:var(--colors-svg-icon-fill-dark,var(--color-svg-icon))}.suggest-lang[data-v-ad72c62e]{background:#000;color:#fff;display:flex;justify-content:center;border-bottom:1px solid var(--color-grid)}.suggest-lang__wrapper[data-v-ad72c62e]{display:flex;align-items:center;width:100%;max-width:var(--wrapper-max-width,1920px);margin:0 .94118rem;position:relative;height:52px}.suggest-lang__link[data-v-ad72c62e]{font-size:.82353rem;line-height:1.42857;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);margin:0 auto;color:#09f}.suggest-lang__close-icon-wrapper[data-v-ad72c62e]{position:absolute;right:-.23529rem;top:0;height:100%;box-sizing:border-box;display:flex;align-items:center;z-index:1}.suggest-lang__close-icon-button[data-v-ad72c62e]{padding:.23529rem}.suggest-lang__close-icon-button .close-icon[data-v-ad72c62e]{width:8px;display:block}.suggest-lang .inline-chevron-right-icon[data-v-ad72c62e]{padding-left:.23529rem;width:8px}select[data-v-7e4d9b69]{font-size:.70588rem;line-height:1.33333;font-weight:600;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);color:var(--color-fill-blue);padding-right:15px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;cursor:pointer}select[data-v-7e4d9b69]:hover{text-decoration:underline}.locale-selector[data-v-7e4d9b69]{position:relative}.svg-icon.icon-inline[data-v-7e4d9b69]{position:absolute;fill:var(--color-fill-blue);right:2px;bottom:7px;height:5px}html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;background-color:var(--colors-text-background,var(--color-text-background));height:100%}abbr,blockquote,body,button,dd,dl,dt,fieldset,figure,form,h1,h2,h3,h4,h5,h6,hgroup,input,legend,li,ol,p,pre,ul{margin:0;padding:0}address,caption,code,figcaption,pre,th{font-size:1em;font-weight:400;font-style:normal}fieldset,iframe,img{border:0}caption,th{text-align:left}table{border-collapse:collapse;border-spacing:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}button{background:none;border:0;box-sizing:content-box;color:inherit;cursor:pointer;font:inherit;line-height:inherit;overflow:visible;vertical-align:inherit}button:disabled{cursor:default}:focus{outline:4px solid var(--color-focus-color);outline-offset:1px}::-moz-focus-inner{border:0;padding:0}@media print{#content,#main,body{color:#000}a,a:link,a:visited{color:#000;text-decoration:none}.hide,.noprint{display:none}}body{height:100%;min-width:320px}html{font:var(--typography-html-font,17px "Helvetica Neue","Helvetica","Arial",sans-serif);quotes:"“" "”"}html:lang(ja-JP){quotes:"「" "」"}body{font-size:1rem;line-height:1.47059;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);background-color:var(--color-text-background);color:var(--colors-text,var(--color-text));font-style:normal;word-wrap:break-word;--spacing-stacked-margin-small:0.4em;--spacing-stacked-margin-large:0.8em;--spacing-stacked-margin-xlarge:calc(var(--spacing-stacked-margin-large)*2);--spacing-param:1.64706rem;--declaration-code-listing-margin:30px 0 0 0;--code-block-style-elements-padding:8px 14px}body,button,input,select,textarea{font-synthesis:none;-moz-font-feature-settings:"kern";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;direction:ltr;text-align:left}h1,h2,h3,h4,h5,h6{color:var(--colors-header-text,var(--color-header-text))}h1+*,h2+*,h3+*,h4+*,h5+*,h6+*{margin-top:var(--spacing-stacked-margin-large)}ol+h1,ol+h2,ol+h3,ol+h4,ol+h5,ol+h6,p+h1,p+h2,p+h3,p+h4,p+h5,p+h6,ul+h1,ul+h2,ul+h3,ul+h4,ul+h5,ul+h6{margin-top:1.6em}ol+*,p+*,ul+*{margin-top:var(--spacing-stacked-margin-large)}ol,ul{margin-left:1.17647em}ol ol,ol ul,ul ol,ul ul{margin-top:0;margin-bottom:0}nav ol,nav ul{margin:0;list-style:none}li li{font-size:1em}a{color:var(--colors-link,var(--color-link))}a:link,a:visited{text-decoration:none}a:hover{text-decoration:underline}a:active{text-decoration:none}p+a{display:inline-block}b,strong{font-weight:600}cite,dfn,em,i{font-style:italic}sup{font-size:.6em;vertical-align:top;position:relative;bottom:-.2em}h1 sup,h2 sup,h3 sup{font-size:.4em}sup a{vertical-align:inherit;color:inherit}sup a:hover{color:var(--figure-blue);text-decoration:none}sub{line-height:1}abbr{border:0}pre{overflow:auto;-webkit-overflow-scrolling:auto;white-space:pre;word-wrap:normal}code{font-family:var(--typography-html-font-mono,Menlo,monospace);font-weight:inherit;letter-spacing:0}.syntax-addition{color:var(--syntax-addition,var(--color-syntax-addition))}.syntax-comment{color:var(--syntax-comment,var(--color-syntax-comments))}.syntax-quote{color:var(--syntax-quote,var(--color-syntax-comments))}.syntax-deletion{color:var(--syntax-deletion,var(--color-syntax-deletion))}.syntax-keyword{color:var(--syntax-keyword,var(--color-syntax-keywords))}.syntax-literal{color:var(--syntax-literal,var(--color-syntax-keywords))}.syntax-selector-tag{color:var(--syntax-selector-tag,var(--color-syntax-keywords))}.syntax-string{color:var(--syntax-string,var(--color-syntax-strings))}.syntax-bullet{color:var(--syntax-bullet,var(--color-syntax-characters))}.syntax-meta{color:var(--syntax-meta,var(--color-syntax-characters))}.syntax-number{color:var(--syntax-number,var(--color-syntax-characters))}.syntax-symbol{color:var(--syntax-symbol,var(--color-syntax-characters))}.syntax-tag{color:var(--syntax-tag,var(--color-syntax-characters))}.syntax-attr{color:var(--syntax-attr,var(--color-syntax-other-type-names))}.syntax-built_in{color:var(--syntax-built_in,var(--color-syntax-other-type-names))}.syntax-builtin-name{color:var(--syntax-builtin-name,var(--color-syntax-other-type-names))}.syntax-class{color:var(--syntax-class,var(--color-syntax-other-type-names))}.syntax-params{color:var(--syntax-params,var(--color-syntax-other-type-names))}.syntax-section{color:var(--syntax-section,var(--color-syntax-other-type-names))}.syntax-title{color:var(--syntax-title,var(--color-syntax-other-type-names))}.syntax-type{color:var(--syntax-type,var(--color-syntax-other-type-names))}.syntax-attribute{color:var(--syntax-attribute,var(--color-syntax-plain-text))}.syntax-identifier{color:var(--syntax-identifier,var(--color-syntax-plain-text))}.syntax-subst{color:var(--syntax-subst,var(--color-syntax-plain-text))}.syntax-doctag,.syntax-strong{font-weight:700}.syntax-emphasis,.syntax-link{font-style:italic}[data-syntax=swift] .syntax-meta{color:var(--syntax-meta,var(--color-syntax-keywords))}[data-syntax=swift] .syntax-class,[data-syntax=swift] .syntax-keyword+.syntax-params,[data-syntax=swift] .syntax-params+.syntax-params{color:unset}[data-syntax=json] .syntax-attr{color:var(--syntax-attr,var(--color-syntax-strings))}#skip-nav{position:absolute;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(0 0 99.9% 99.9%);clip-path:inset(0 0 99.9% 99.9%);overflow:hidden;height:1px;width:1px;padding:0;border:0}#skip-nav:active,#skip-nav:focus{position:relative;float:left;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;color:var(--color-figure-blue);font-size:1em;padding:0 10px;z-index:100000;top:0;left:0;height:44px;line-height:44px;-webkit-clip-path:unset;clip-path:unset}.nav--in-breakpoint-range #skip-nav{display:none}.visuallyhidden{position:absolute;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(0 0 99.9% 99.9%);clip-path:inset(0 0 99.9% 99.9%);overflow:hidden;height:1px;width:1px;padding:0;border:0}@-webkit-keyframes pulse{0%{opacity:0}33%{opacity:1}66%{opacity:1}to{opacity:0}}@keyframes pulse{0%{opacity:0}33%{opacity:1}66%{opacity:1}to{opacity:0}}.changed{border:1px solid var(--color-changes-modified);border-radius:var(--border-radius,4px);position:relative}.changed.displays-multiple-lines,.displays-multiple-lines .changed{border-radius:var(--border-radius,4px)}.changed:after{left:8px;background-image:url(../img/modified-icon.f496e73d.svg);background-repeat:no-repeat;bottom:0;content:" ";margin:auto;margin-right:8px;position:absolute;top:0;width:1.17647rem;height:1.17647rem;margin-top:.61765rem;z-index:2}@media screen{[data-color-scheme=dark] .changed:after{background-image:url(../img/modified-icon.f496e73d.svg)}}@media screen and (prefers-color-scheme:dark){[data-color-scheme=auto] .changed:after{background-image:url(../img/modified-icon.f496e73d.svg)}}.changed-added{border-color:var(--color-changes-added)}.changed-added:after{background-image:url(../img/added-icon.d6f7e47d.svg)}@media screen{[data-color-scheme=dark] .changed-added:after{background-image:url(../img/added-icon.d6f7e47d.svg)}}@media screen and (prefers-color-scheme:dark){[data-color-scheme=auto] .changed-added:after{background-image:url(../img/added-icon.d6f7e47d.svg)}}.changed-deprecated{border-color:var(--color-changes-deprecated)}.changed-deprecated:after{background-image:url(../img/deprecated-icon.015b4f17.svg)}@media screen{[data-color-scheme=dark] .changed-deprecated:after{background-image:url(../img/deprecated-icon.015b4f17.svg)}}@media screen and (prefers-color-scheme:dark){[data-color-scheme=auto] .changed-deprecated:after{background-image:url(../img/deprecated-icon.015b4f17.svg)}}.changed.link-block:after,.changed.relationships-item:after,.link-block .changed:after{margin-top:10px}.change-added,.change-removed{padding:2px 0}.change-removed{background-color:var(--color-highlight-red)}.change-added{background-color:var(--color-highlight-green)}body{color-scheme:light dark}body[data-color-scheme=light]{color-scheme:light}body[data-color-scheme=dark]{color-scheme:dark}body{--color-fill:#fff;--color-fill-secondary:#f7f7f7;--color-fill-tertiary:#f0f0f0;--color-fill-quaternary:#282828;--color-fill-blue:#00f;--color-fill-light-blue-secondary:#d1d1ff;--color-fill-gray:#ccc;--color-fill-gray-secondary:#f5f5f5;--color-fill-gray-tertiary:#f0f0f0;--color-fill-gray-quaternary:#f0f0f0;--color-fill-green-secondary:#f0fff0;--color-fill-orange-secondary:#fffaf6;--color-fill-red-secondary:#fff0f5;--color-figure-blue:#36f;--color-figure-gray:#000;--color-figure-gray-secondary:#666;--color-figure-gray-secondary-alt:#666;--color-figure-gray-tertiary:#666;--color-figure-green:green;--color-figure-light-gray:#666;--color-figure-orange:#c30;--color-figure-red:red;--color-tutorials-teal:#000;--color-article-background:var(--color-fill-tertiary);--color-article-body-background:var(--color-fill);--color-aside-deprecated:var(--color-figure-gray);--color-aside-deprecated-background:var(--color-fill-orange-secondary);--color-aside-deprecated-border:var(--color-figure-orange);--color-aside-experiment:var(--color-figure-gray);--color-aside-experiment-background:var(--color-fill-gray-secondary);--color-aside-experiment-border:var(--color-figure-light-gray);--color-aside-important:var(--color-figure-gray);--color-aside-important-background:var(--color-fill-gray-secondary);--color-aside-important-border:var(--color-figure-light-gray);--color-aside-note:var(--color-figure-gray);--color-aside-note-background:var(--color-fill-gray-secondary);--color-aside-note-border:var(--color-figure-light-gray);--color-aside-tip:var(--color-figure-gray);--color-aside-tip-background:var(--color-fill-gray-secondary);--color-aside-tip-border:var(--color-figure-light-gray);--color-aside-warning:var(--color-figure-gray);--color-aside-warning-background:var(--color-fill-red-secondary);--color-aside-warning-border:var(--color-figure-red);--color-badge-default:var(--color-figure-light-gray);--color-badge-beta:var(--color-figure-gray-tertiary);--color-badge-deprecated:var(--color-figure-orange);--color-badge-dark-default:#fff;--color-badge-dark-beta:#b0b0b0;--color-badge-dark-deprecated:#f60;--color-button-background:var(--color-fill-blue);--color-button-background-active:#36f;--color-button-background-hover:var(--color-figure-blue);--color-button-text:#fff;--color-call-to-action-background:var(--color-fill-secondary);--color-changes-added:var(--color-figure-light-gray);--color-changes-added-hover:var(--color-figure-light-gray);--color-changes-deprecated:var(--color-figure-light-gray);--color-changes-deprecated-hover:var(--color-figure-light-gray);--color-changes-modified:var(--color-figure-light-gray);--color-changes-modified-hover:var(--color-figure-light-gray);--color-changes-modified-previous-background:var(--color-fill);--color-code-background:var(--color-fill-secondary);--color-code-collapsible-background:var(--color-fill-tertiary);--color-code-collapsible-text:var(--color-figure-gray-secondary-alt);--color-code-line-highlight:rgba(51,102,255,0.08);--color-code-line-highlight-border:var(--color-figure-blue);--color-code-plain:var(--color-figure-gray);--color-dropdown-background:hsla(0,0%,100%,0.8);--color-dropdown-border:#ccc;--color-dropdown-option-text:#666;--color-dropdown-text:#000;--color-dropdown-dark-background:hsla(0,0%,100%,0.1);--color-dropdown-dark-border:hsla(0,0%,94.1%,0.2);--color-dropdown-dark-option-text:#ccc;--color-dropdown-dark-text:#fff;--color-eyebrow:var(--color-figure-gray-secondary);--color-focus-border-color:var(--color-fill-blue);--color-focus-color:rgba(0,125,250,0.6);--color-form-error:var(--color-figure-red);--color-form-error-background:var(--color-fill-red-secondary);--color-form-valid:var(--color-figure-green);--color-form-valid-background:var(--color-fill-green-secondary);--color-generic-modal-background:var(--color-fill);--color-grid:var(--color-fill-gray);--color-header-text:var(--color-figure-gray);--color-hero-eyebrow:#ccc;--color-link:var(--color-figure-blue);--color-loading-placeholder-background:var(--color-fill);--color-nav-color:#666;--color-nav-current-link:rgba(0,0,0,0.6);--color-nav-expanded:#fff;--color-nav-hierarchy-collapse-background:#f0f0f0;--color-nav-hierarchy-collapse-borders:#ccc;--color-nav-hierarchy-item-borders:#ccc;--color-nav-keyline:rgba(0,0,0,0.2);--color-nav-link-color:#000;--color-nav-link-color-hover:#36f;--color-nav-outlines:#ccc;--color-nav-rule:hsla(0,0%,94.1%,0.5);--color-nav-solid-background:#fff;--color-nav-sticking-expanded-keyline:rgba(0,0,0,0.1);--color-nav-stuck:hsla(0,0%,100%,0.9);--color-nav-uiblur-expanded:hsla(0,0%,100%,0.9);--color-nav-uiblur-stuck:hsla(0,0%,100%,0.7);--color-nav-root-subhead:var(--color-tutorials-teal);--color-nav-dark-border-top-color:hsla(0,0%,100%,0.4);--color-nav-dark-color:#b0b0b0;--color-nav-dark-current-link:hsla(0,0%,100%,0.6);--color-nav-dark-expanded:#2a2a2a;--color-nav-dark-hierarchy-collapse-background:#424242;--color-nav-dark-hierarchy-collapse-borders:#666;--color-nav-dark-hierarchy-item-borders:#424242;--color-nav-dark-keyline:rgba(66,66,66,0.95);--color-nav-dark-link-color:#fff;--color-nav-dark-link-color-hover:#09f;--color-nav-dark-outlines:#575757;--color-nav-dark-rule:#575757;--color-nav-dark-solid-background:#000;--color-nav-dark-sticking-expanded-keyline:rgba(66,66,66,0.7);--color-nav-dark-stuck:rgba(42,42,42,0.9);--color-nav-dark-uiblur-expanded:rgba(42,42,42,0.9);--color-nav-dark-uiblur-stuck:rgba(42,42,42,0.7);--color-nav-dark-root-subhead:#fff;--color-runtime-preview-background:var(--color-fill-tertiary);--color-runtime-preview-disabled-text:hsla(0,0%,40%,0.6);--color-runtime-preview-text:var(--color-figure-gray-secondary);--color-secondary-label:var(--color-figure-gray-secondary);--color-step-background:var(--color-fill-secondary);--color-step-caption:var(--color-figure-gray-secondary);--color-step-focused:var(--color-figure-light-gray);--color-step-text:var(--color-figure-gray-secondary);--color-svg-icon:#666;--color-syntax-addition:var(--color-figure-green);--color-syntax-attributes:#947100;--color-syntax-characters:#272ad8;--color-syntax-comments:#707f8c;--color-syntax-deletion:var(--color-figure-red);--color-syntax-documentation-markup:#506375;--color-syntax-documentation-markup-keywords:#506375;--color-syntax-heading:#ba2da2;--color-syntax-keywords:#ad3da4;--color-syntax-marks:#000;--color-syntax-numbers:#272ad8;--color-syntax-other-class-names:#703daa;--color-syntax-other-constants:#4b21b0;--color-syntax-other-declarations:#047cb0;--color-syntax-other-function-and-method-names:#4b21b0;--color-syntax-other-instance-variables-and-globals:#703daa;--color-syntax-other-preprocessor-macros:#78492a;--color-syntax-other-type-names:#703daa;--color-syntax-param-internal-name:#404040;--color-syntax-plain-text:#000;--color-syntax-preprocessor-statements:#78492a;--color-syntax-project-class-names:#3e8087;--color-syntax-project-constants:#2d6469;--color-syntax-project-function-and-method-names:#2d6469;--color-syntax-project-instance-variables-and-globals:#3e8087;--color-syntax-project-preprocessor-macros:#78492a;--color-syntax-project-type-names:#3e8087;--color-syntax-strings:#d12f1b;--color-syntax-type-declarations:#03638c;--color-syntax-urls:#1337ff;--color-tabnav-item-border-color:var(--color-fill-gray);--color-text:var(--color-figure-gray);--color-text-background:var(--color-fill);--color-tutorial-assessments-background:var(--color-fill-secondary);--color-tutorial-background:var(--color-fill);--color-tutorial-navbar-dropdown-background:var(--color-fill);--color-tutorial-navbar-dropdown-border:var(--color-fill-gray);--color-tutorial-quiz-border-active:var(--color-figure-blue);--color-tutorials-overview-background:#161616;--color-tutorials-overview-content:#fff;--color-tutorials-overview-content-alt:#fff;--color-tutorials-overview-eyebrow:#ccc;--color-tutorials-overview-icon:#b0b0b0;--color-tutorials-overview-link:#09f;--color-tutorials-overview-navigation-link:#ccc;--color-tutorials-overview-navigation-link-active:#fff;--color-tutorials-overview-navigation-link-hover:#fff;--color-tutorial-hero-text:#fff;--color-tutorial-hero-background:#000;--color-navigator-item-hover:rgba(0,0,255,0.05);--color-card-background:var(--color-fill);--color-card-content-text:var(--color-figure-gray);--color-card-eyebrow:var(--color-figure-gray-secondary-alt);--color-card-shadow:rgba(0,0,0,0.04);--color-link-block-card-border:rgba(0,0,0,0.04);--color-standard-red:#8b0000;--color-standard-orange:#8b4000;--color-standard-yellow:#8f7200;--color-standard-blue:#002d75;--color-standard-green:#023b2d;--color-standard-purple:#512b55;--color-standard-gray:#2a2a2a}@media screen{body[data-color-scheme=dark]{--color-fill:#000;--color-fill-secondary:#161616;--color-fill-tertiary:#2a2a2a;--color-fill-blue:#06f;--color-fill-light-blue-secondary:#004ec4;--color-fill-gray:#575757;--color-fill-gray-secondary:#222;--color-fill-gray-tertiary:#424242;--color-fill-gray-quaternary:#424242;--color-fill-green-secondary:#030;--color-fill-orange-secondary:#472400;--color-fill-red-secondary:#300;--color-figure-blue:#09f;--color-figure-gray:#fff;--color-figure-gray-secondary:#ccc;--color-figure-gray-secondary-alt:#b0b0b0;--color-figure-gray-tertiary:#b0b0b0;--color-figure-green:#090;--color-figure-light-gray:#b0b0b0;--color-figure-orange:#f60;--color-figure-red:#f33;--color-tutorials-teal:#fff;--color-article-body-background:#111;--color-badge-default:var(--color-badge-dark-default);--color-button-background-active:#06f;--color-code-line-highlight:rgba(0,153,255,0.08);--color-dropdown-background:var(--color-dropdown-dark-background);--color-dropdown-border:var(--color-dropdown-dark-border);--color-dropdown-option-text:var(--color-dropdown-dark-option-text);--color-dropdown-text:var(--color-dropdown-dark-text);--color-nav-color:var(--color-nav-dark-color);--color-nav-current-link:var(--color-nav-dark-current-link);--color-nav-expanded:var(--color-nav-dark-expanded);--color-nav-hierarchy-collapse-background:var(--color-nav-dark-hierarchy-collapse-background);--color-nav-hierarchy-collapse-borders:var(--color-nav-dark-hierarchy-collapse-borders);--color-nav-hierarchy-item-borders:var(--color-nav-dark-hierarchy-item-borders);--color-nav-keyline:var(--color-nav-dark-keyline);--color-nav-link-color:var(--color-nav-dark-link-color);--color-nav-link-color-hover:var(--color-nav-dark-link-color-hover);--color-nav-outlines:var(--color-nav-dark-outlines);--color-nav-rule:var(--color-nav-dark-rule);--color-nav-solid-background:var(--color-nav-dark-solid-background);--color-nav-sticking-expanded-keyline:var(--color-nav-dark-sticking-expanded-keyline);--color-nav-stuck:var(--color-nav-dark-stuck);--color-nav-uiblur-expanded:var(--color-nav-dark-uiblur-expanded);--color-nav-uiblur-stuck:var(--color-nav-dark-uiblur-stuck);--color-runtime-preview-disabled-text:hsla(0,0%,80%,0.6);--color-syntax-attributes:#cc9768;--color-syntax-characters:#d9c97c;--color-syntax-comments:#7f8c98;--color-syntax-documentation-markup:#7f8c98;--color-syntax-documentation-markup-keywords:#a3b1bf;--color-syntax-keywords:#ff7ab2;--color-syntax-marks:#fff;--color-syntax-numbers:#d9c97c;--color-syntax-other-class-names:#dabaff;--color-syntax-other-constants:#a7ebdd;--color-syntax-other-declarations:#4eb0cc;--color-syntax-other-function-and-method-names:#b281eb;--color-syntax-other-instance-variables-and-globals:#b281eb;--color-syntax-other-preprocessor-macros:#ffa14f;--color-syntax-other-type-names:#dabaff;--color-syntax-param-internal-name:#bfbfbf;--color-syntax-plain-text:#fff;--color-syntax-preprocessor-statements:#ffa14f;--color-syntax-project-class-names:#acf2e4;--color-syntax-project-constants:#78c2b3;--color-syntax-project-function-and-method-names:#78c2b3;--color-syntax-project-instance-variables-and-globals:#78c2b3;--color-syntax-project-preprocessor-macros:#ffa14f;--color-syntax-project-type-names:#acf2e4;--color-syntax-strings:#ff8170;--color-syntax-type-declarations:#6bdfff;--color-syntax-urls:#69f;--color-tutorial-background:var(--color-fill-tertiary);--color-navigator-item-hover:rgba(0,102,255,0.5);--color-card-shadow:hsla(0,0%,100%,0.04);--color-link-block-card-border:hsla(0,0%,100%,0.25)}}@media screen and (prefers-color-scheme:dark){body[data-color-scheme=auto]{--color-fill:#000;--color-fill-secondary:#161616;--color-fill-tertiary:#2a2a2a;--color-fill-blue:#06f;--color-fill-light-blue-secondary:#004ec4;--color-fill-gray:#575757;--color-fill-gray-secondary:#222;--color-fill-gray-tertiary:#424242;--color-fill-gray-quaternary:#424242;--color-fill-green-secondary:#030;--color-fill-orange-secondary:#472400;--color-fill-red-secondary:#300;--color-figure-blue:#09f;--color-figure-gray:#fff;--color-figure-gray-secondary:#ccc;--color-figure-gray-secondary-alt:#b0b0b0;--color-figure-gray-tertiary:#b0b0b0;--color-figure-green:#090;--color-figure-light-gray:#b0b0b0;--color-figure-orange:#f60;--color-figure-red:#f33;--color-tutorials-teal:#fff;--color-article-body-background:#111;--color-badge-default:var(--color-badge-dark-default);--color-button-background-active:#06f;--color-code-line-highlight:rgba(0,153,255,0.08);--color-dropdown-background:var(--color-dropdown-dark-background);--color-dropdown-border:var(--color-dropdown-dark-border);--color-dropdown-option-text:var(--color-dropdown-dark-option-text);--color-dropdown-text:var(--color-dropdown-dark-text);--color-nav-color:var(--color-nav-dark-color);--color-nav-current-link:var(--color-nav-dark-current-link);--color-nav-expanded:var(--color-nav-dark-expanded);--color-nav-hierarchy-collapse-background:var(--color-nav-dark-hierarchy-collapse-background);--color-nav-hierarchy-collapse-borders:var(--color-nav-dark-hierarchy-collapse-borders);--color-nav-hierarchy-item-borders:var(--color-nav-dark-hierarchy-item-borders);--color-nav-keyline:var(--color-nav-dark-keyline);--color-nav-link-color:var(--color-nav-dark-link-color);--color-nav-link-color-hover:var(--color-nav-dark-link-color-hover);--color-nav-outlines:var(--color-nav-dark-outlines);--color-nav-rule:var(--color-nav-dark-rule);--color-nav-solid-background:var(--color-nav-dark-solid-background);--color-nav-sticking-expanded-keyline:var(--color-nav-dark-sticking-expanded-keyline);--color-nav-stuck:var(--color-nav-dark-stuck);--color-nav-uiblur-expanded:var(--color-nav-dark-uiblur-expanded);--color-nav-uiblur-stuck:var(--color-nav-dark-uiblur-stuck);--color-runtime-preview-disabled-text:hsla(0,0%,80%,0.6);--color-syntax-attributes:#cc9768;--color-syntax-characters:#d9c97c;--color-syntax-comments:#7f8c98;--color-syntax-documentation-markup:#7f8c98;--color-syntax-documentation-markup-keywords:#a3b1bf;--color-syntax-keywords:#ff7ab2;--color-syntax-marks:#fff;--color-syntax-numbers:#d9c97c;--color-syntax-other-class-names:#dabaff;--color-syntax-other-constants:#a7ebdd;--color-syntax-other-declarations:#4eb0cc;--color-syntax-other-function-and-method-names:#b281eb;--color-syntax-other-instance-variables-and-globals:#b281eb;--color-syntax-other-preprocessor-macros:#ffa14f;--color-syntax-other-type-names:#dabaff;--color-syntax-param-internal-name:#bfbfbf;--color-syntax-plain-text:#fff;--color-syntax-preprocessor-statements:#ffa14f;--color-syntax-project-class-names:#acf2e4;--color-syntax-project-constants:#78c2b3;--color-syntax-project-function-and-method-names:#78c2b3;--color-syntax-project-instance-variables-and-globals:#78c2b3;--color-syntax-project-preprocessor-macros:#ffa14f;--color-syntax-project-type-names:#acf2e4;--color-syntax-strings:#ff8170;--color-syntax-type-declarations:#6bdfff;--color-syntax-urls:#69f;--color-tutorial-background:var(--color-fill-tertiary);--color-navigator-item-hover:rgba(0,102,255,0.5);--color-card-shadow:hsla(0,0%,100%,0.04);--color-link-block-card-border:hsla(0,0%,100%,0.25)}}#main{outline-style:none}:root{--app-height:100vh}[data-v-7d594ed9] :focus:not(input):not(textarea):not(select){outline:none}.fromkeyboard[data-v-7d594ed9] :focus:not(input):not(textarea):not(select){outline:4px solid var(--color-focus-color);outline-offset:1px}#app[data-v-7d594ed9]{display:flex;flex-flow:column;min-height:100%}#app[data-v-7d594ed9]>*{min-width:0}#app .router-content[data-v-7d594ed9]{flex:1}.container[data-v-1f05d9ec]{margin-left:auto;margin-right:auto;width:980px;outline-style:none;margin-top:92px;margin-bottom:140px}@media only screen and (max-width:1250px){.container[data-v-1f05d9ec]{width:692px}}@media only screen and (max-width:735px){.container[data-v-1f05d9ec]{width:87.5%}}@media only screen and (max-width:320px){.container[data-v-1f05d9ec]{width:215px}}.error-content[data-v-1f05d9ec]{box-sizing:border-box;width:502px;margin-left:auto;margin-right:auto;margin-bottom:54px}@media only screen and (max-width:1250px){.error-content[data-v-1f05d9ec]{width:420px;margin-bottom:45px}}@media only screen and (max-width:735px){.error-content[data-v-1f05d9ec]{max-width:330px;width:auto;margin-bottom:35px}}.title[data-v-1f05d9ec]{text-align:center;font-size:2.82353rem;line-height:1.08333;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}@media only screen and (max-width:1250px){.title[data-v-1f05d9ec]{font-size:2.35294rem;line-height:1.1;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}@media only screen and (max-width:735px){.title[data-v-1f05d9ec]{font-size:1.88235rem;line-height:1.125;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}
\ No newline at end of file
--- /dev/null
+/*!
+ * This source file is part of the Swift.org open source project
+ *
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ *
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */.nav-title-content[data-v-854b4dd6]{max-width:100%}.title[data-v-854b4dd6]{color:var(--color-nav-root-title,currentColor);text-overflow:ellipsis;white-space:nowrap;overflow:hidden;display:inline-block;vertical-align:top;max-width:296px}@media only screen and (max-width:1023px){.title[data-v-854b4dd6]{max-width:205px}}@media only screen and (max-width:767px){.title[data-v-854b4dd6]{flex-basis:fill;display:initial;vertical-align:initial;max-width:none}}.subhead[data-v-854b4dd6]{color:var(--color-nav-root-subhead)}.theme-dark .subhead[data-v-854b4dd6]{color:var(--color-nav-dark-root-subhead)}.mobile-dropdown[data-v-154acfbd]{box-sizing:border-box}.nav--in-breakpoint-range .mobile-dropdown[data-v-154acfbd]{padding-left:.23529rem;padding-right:.23529rem}.mobile-dropdown ul[data-v-154acfbd]{list-style:none}.mobile-dropdown .option[data-v-154acfbd]{cursor:pointer;font-size:.70588rem;padding:.5rem 0;display:block;text-decoration:none;color:inherit}.mobile-dropdown .option[data-v-154acfbd]:focus{outline-offset:0}.mobile-dropdown .option.depth1[data-v-154acfbd]{padding-left:.47059rem}.active[data-v-154acfbd],.tutorial.router-link-active[data-v-154acfbd]{font-weight:600}.active[data-v-154acfbd]:focus,.tutorial.router-link-active[data-v-154acfbd]:focus{outline:none}.chapter-list[data-v-154acfbd]:not(:first-child){margin-top:1rem}.chapter-name[data-v-154acfbd],.tutorial[data-v-154acfbd]{padding:.5rem 0;font-size:1rem;line-height:1.47059;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}.section-list[data-v-154acfbd],.tutorial-list[data-v-154acfbd]{padding:0 .58824rem}.chapter-list:last-child .tutorial-list[data-v-154acfbd]:last-child{padding-bottom:10em}.chapter-list[data-v-154acfbd]{display:inline-block}.form-element[data-v-998803d8]{position:relative}.form-dropdown[data-v-998803d8]{font-size:1rem;line-height:1.23529;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);display:block;box-sizing:border-box;width:100%;height:3.3em;color:var(--color-dropdown-text);padding:1.11765rem 2.35294rem 0 .94118rem;text-align:left;border:1px solid var(--color-dropdown-border);border-radius:var(--border-radius,4px);background-clip:padding-box;margin-bottom:.82353rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;min-height:32px}.form-dropdown[data-v-998803d8]:focus{box-shadow:0 0 0 4px var(--color-focus-color);outline:none;border-color:var(--color-focus-border-color)}.form-dropdown.no-eyebrow[data-v-998803d8]{padding-top:0}.form-dropdown[data-v-998803d8]:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--color-dropdown-text)}.form-dropdown[data-v-998803d8]::-ms-expand{opacity:0}.form-dropdown~.form-icon[data-v-998803d8]{position:absolute;display:block;pointer-events:none;fill:var(--color-figure-gray-tertiary);right:14px;width:13px;height:auto;top:50%;transform:translateY(-50%)}.is-open .form-dropdown~.form-icon[data-v-998803d8]{transform:translateY(-50%) scale(-1)}@media only screen and (max-width:735px){.form-dropdown~.form-icon[data-v-998803d8]{right:14px}}.form-dropdown~.form-label[data-v-998803d8]{font-size:.70588rem;line-height:1.75;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);position:absolute;top:.47059rem;left:17px;color:var(--color-figure-gray-secondary);pointer-events:none;padding:0;z-index:1}.form-dropdown[data-v-998803d8] option{color:var(--color-dropdown-text)}.form-dropdown-selectnone[data-v-998803d8]{color:transparent}.form-dropdown-selectnone~.form-label[data-v-998803d8]{font-size:1rem;line-height:1.23529;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);top:19px;left:17px;color:var(--color-figure-gray-tertiary)}.form-dropdown-selectnone[data-v-998803d8]:-moz-focusring{text-shadow:none}.form-dropdown-selectnone[data-v-998803d8]::-ms-value{display:none}.theme-dark .form-dropdown[data-v-998803d8]{color:var(--color-dropdown-dark-text);background-color:var(--color-dropdown-dark-background);border-color:var(--color-dropdown-dark-border)}.theme-dark .form-dropdown~.form-label[data-v-998803d8]{color:#ccc}.theme-dark .form-dropdown[data-v-998803d8]:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--color-dropdown-dark-text)}.theme-dark .form-dropdown.form-dropdown-selectnone[data-v-998803d8]{color:transparent}.theme-dark .form-dropdown.form-dropdown-selectnone[data-v-998803d8]:-moz-focusring{text-shadow:none}.theme-dark .form-dropdown-selectnone~.form-label[data-v-998803d8]{color:#b0b0b0}.dropdown-small[data-v-12dd746a]{height:30px;display:flex;align-items:center;position:relative;background:var(--color-fill)}.dropdown-small .form-dropdown-toggle[data-v-12dd746a]{line-height:1.5;font-size:12px;padding-top:0;padding-bottom:0;padding-left:20px;min-height:unset;height:30px;display:flex;align-items:center}.dropdown-small .form-dropdown-toggle[data-v-12dd746a]:focus{box-shadow:none;border-color:var(--color-dropdown-border)}.fromkeyboard .dropdown-small .form-dropdown-toggle[data-v-12dd746a]:focus{box-shadow:0 0 0 2px var(--color-focus-color);outline:none;border-color:var(--color-focus-border-color)}.form-dropdown-toggle[data-v-12dd746a]{margin:0}.is-open .form-dropdown-toggle[data-v-12dd746a]{border-radius:var(--border-radius,4px) var(--border-radius,4px) 0 0;border-bottom:none;padding-bottom:1px}.fromkeyboard .is-open .form-dropdown-toggle[data-v-12dd746a]{box-shadow:1px -1px 0 1px var(--color-focus-color),-1px -1px 0 1px var(--color-focus-color);border-color:var(--color-focus-border-color)}.form-dropdown-title[data-v-12dd746a]{margin:0;padding:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.dropdown-custom[data-v-12dd746a]{border-radius:var(--border-radius,4px)}.dropdown-custom.is-open[data-v-12dd746a]{border-radius:var(--border-radius,4px) var(--border-radius,4px) 0 0}.dropdown-custom[data-v-12dd746a] .form-dropdown-content{background:var(--color-fill);position:absolute;right:0;left:0;top:100%;border-bottom-left-radius:var(--border-radius,4px);border-bottom-right-radius:var(--border-radius,4px);border:1px solid var(--color-dropdown-border);border-top:none;display:none;overflow-y:auto}.dropdown-custom[data-v-12dd746a] .form-dropdown-content.is-open{display:block}.fromkeyboard .dropdown-custom[data-v-12dd746a] .form-dropdown-content.is-open{box-shadow:1px 1px 0 1px var(--color-focus-color),-1px 1px 0 1px var(--color-focus-color);border-color:var(--color-focus-border-color);border-top-color:transparent}.nav .dropdown-custom[data-v-12dd746a] .form-dropdown-content{max-height:calc(100vh - 116px - 3.05882rem)}.nav--is-sticking.nav .dropdown-custom[data-v-12dd746a] .form-dropdown-content{max-height:calc(100vh - 3.05882rem - 72px)}.dropdown-custom[data-v-12dd746a] .options{list-style:none;margin:0;padding:0 0 20px}.dropdown-custom[data-v-12dd746a] .option{cursor:pointer;padding:5px 20px;font-size:12px;line-height:20px;outline:none}.dropdown-custom[data-v-12dd746a] .option:hover{background-color:var(--color-fill-tertiary)}.dropdown-custom[data-v-12dd746a] .option.option-active{font-weight:600}.fromkeyboard .dropdown-custom[data-v-12dd746a] .option:hover{background-color:transparent}.fromkeyboard .dropdown-custom[data-v-12dd746a] .option:focus{background-color:var(--color-fill-tertiary);outline:none}.tutorial-dropdown[data-v-554d62b6]{grid-column:3}.section-tracker[data-v-554d62b6]{font-size:.70588rem;line-height:1.33333;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);color:var(--color-figure-gray-secondary);margin-left:15px}.tutorial-dropdown[data-v-4bddb6e6]{grid-column:1/2}.tutorial-dropdown .options[data-v-4bddb6e6]{padding-top:1rem;padding-bottom:0}.tutorial-dropdown .option[data-v-4bddb6e6]{padding:5px 20px 5px 30px}.chapter-list[data-v-4bddb6e6]{padding-bottom:20px}.chapter-name[data-v-4bddb6e6]{margin:0 20px 5px 20px;line-height:normal;color:var(--color-figure-gray-secondary)}.chevron-icon[data-v-717bc942]{padding:0;color:var(--color-nav-outlines);grid-column:2;height:20px;width:20px;margin:0 4px}@media only screen and (min-width:768px){.nav[data-v-717bc942] .nav-content{display:grid;grid-template-columns:auto auto 3fr;align-items:center}.nav[data-v-717bc942] .nav-menu{padding:0;grid-column:3/5}.nav[data-v-717bc942] .nav-menu-item{margin:0}}.dropdown-container[data-v-717bc942]{height:3.05882rem;display:grid;grid-template-columns:minmax(230px,285px) auto minmax(230px,1fr);align-items:center}@media only screen and (max-width:1023px){.dropdown-container[data-v-717bc942]{grid-template-columns:minmax(173px,216px) auto minmax(173px,1fr)}}.separator[data-v-717bc942]{height:20px;border-right:1px solid;border-color:var(--color-nav-outlines);margin:0 20px;grid-column:2}.mobile-dropdown-container[data-v-717bc942],.nav--in-breakpoint-range.nav .dropdown-container[data-v-717bc942],.nav--in-breakpoint-range.nav .separator[data-v-717bc942]{display:none}.nav--in-breakpoint-range.nav .mobile-dropdown-container[data-v-717bc942]{display:block}.nav--in-breakpoint-range.nav[data-v-717bc942] .nav-title{grid-area:title}.nav--in-breakpoint-range.nav[data-v-717bc942] .pre-title{display:none}.nav[data-v-717bc942] .nav-title{grid-column:1;width:90%;padding-top:0}.primary-dropdown[data-v-717bc942],.secondary-dropdown[data-v-717bc942]{background:var(--color-tutorial-navbar-dropdown-background);border-color:var(--color-tutorial-navbar-dropdown-border)}.primary-dropdown[data-v-717bc942] .form-dropdown,.primary-dropdown[data-v-717bc942] .form-dropdown:focus,.secondary-dropdown[data-v-717bc942] .form-dropdown,.secondary-dropdown[data-v-717bc942] .form-dropdown:focus{border-color:var(--color-tutorial-navbar-dropdown-border)}.primary-dropdown[data-v-717bc942] .options,.secondary-dropdown[data-v-717bc942] .options{background:var(--color-tutorial-navbar-dropdown-background);border-color:var(--color-tutorial-navbar-dropdown-border)}[data-v-3cfe1c35] .code-listing+*,[data-v-3cfe1c35] aside+*,[data-v-3cfe1c35] h2+*,[data-v-3cfe1c35] h3+*,[data-v-3cfe1c35] ol+*,[data-v-3cfe1c35] p+*,[data-v-3cfe1c35] ul+*{margin-top:20px}[data-v-3cfe1c35] ol ol,[data-v-3cfe1c35] ol ul,[data-v-3cfe1c35] ul ol,[data-v-3cfe1c35] ul ul{margin-top:0}[data-v-3cfe1c35] h2{font-size:1.88235rem;line-height:1.25;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}@media only screen and (max-width:1250px){[data-v-3cfe1c35] h2{font-size:1.64706rem;line-height:1.28571;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}@media only screen and (max-width:735px){[data-v-3cfe1c35] h2{font-size:1.41176rem;line-height:1.33333;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}[data-v-3cfe1c35] h3{font-size:1.41176rem;line-height:1.16667;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}@media only screen and (max-width:1250px){[data-v-3cfe1c35] h3{font-size:1.23529rem;line-height:1.19048;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}[data-v-3cfe1c35] .code-listing{background:var(--color-code-background);border-color:var(--colors-grid,var(--color-grid));border-style:solid;border-width:1px}[data-v-3cfe1c35] .code-listing pre{font-size:.70588rem;line-height:1.83333;font-weight:400;font-family:var(--typography-html-font-mono,Menlo,monospace);padding:20px 0}.columns[data-v-30edf911]{display:grid;grid-template-rows:repeat(2,auto)}.columns.cols-2[data-v-30edf911]{gap:20px 8.33333%;grid-template-columns:repeat(2,1fr)}.columns.cols-3[data-v-30edf911]{gap:20px 4.16667%;grid-template-columns:repeat(3,1fr)}.asset[data-v-30edf911]{align-self:end;grid-row:1}.content[data-v-30edf911]{grid-row:2}@media only screen and (max-width:735px){.columns.cols-2[data-v-30edf911],.columns.cols-3[data-v-30edf911]{grid-template-columns:unset}.asset[data-v-30edf911],.content[data-v-30edf911]{grid-row:auto}}.content-and-media[data-v-3fa44f9e]{display:flex}.content-and-media.media-leading[data-v-3fa44f9e]{flex-direction:row-reverse}.content-and-media.media-trailing[data-v-3fa44f9e]{flex-direction:row}@media only screen and (min-width:736px){.content-and-media[data-v-3fa44f9e]{align-items:center;justify-content:center}}.content[data-v-3fa44f9e]{width:62.5%}.asset[data-v-3fa44f9e]{width:29.16667%}.media-leading .asset[data-v-3fa44f9e]{margin-right:8.33333%}.media-trailing .asset[data-v-3fa44f9e]{margin-left:8.33333%}@media only screen and (max-width:735px){.content-and-media.media-leading[data-v-3fa44f9e],.content-and-media.media-trailing[data-v-3fa44f9e]{flex-direction:column}.asset[data-v-3fa44f9e],.content[data-v-3fa44f9e]{width:100%}.media-leading .asset[data-v-3fa44f9e],.media-trailing .asset[data-v-3fa44f9e]{margin:20px 0 0 0}}.group[id][data-v-1f2be54b]{margin-top:20px;padding-top:20px}[data-v-1f2be54b] img,[data-v-1f2be54b] video{display:block;margin:0 auto;max-width:100%}.layout+[data-v-4d5a806e]{margin-top:40px}@media only screen and (max-width:735px){.layout[data-v-4d5a806e]:first-child>:not(.group[id]){margin-top:40px}}.body[data-v-6499e2f2]{background:var(--colors-text-background,var(--color-article-body-background));margin-left:auto;margin-right:auto;width:980px;border-radius:10px;transform:translateY(-120px)}@media only screen and (max-width:1250px){.body[data-v-6499e2f2]{width:692px}}@media only screen and (max-width:735px){.body[data-v-6499e2f2]{width:87.5%}}@media only screen and (max-width:320px){.body[data-v-6499e2f2]{width:215px}}@media only screen and (max-width:735px){.body[data-v-6499e2f2]{border-radius:0;transform:none}}.body[data-v-6499e2f2]~*{margin-top:-40px}.body-content[data-v-6499e2f2]{padding:40px 8.33333% 80px 8.33333%}@media only screen and (max-width:735px){.body-content[data-v-6499e2f2]{padding:0 0 40px 0}}.call-to-action[data-v-042a0474]{padding:65px 0;background:var(--color-call-to-action-background)}.theme-dark .call-to-action[data-v-042a0474]{--color-call-to-action-background:#424242}.row[data-v-042a0474]{margin-left:auto;margin-right:auto;width:980px;display:flex;align-items:center}@media only screen and (max-width:1250px){.row[data-v-042a0474]{width:692px}}@media only screen and (max-width:735px){.row[data-v-042a0474]{width:87.5%}}@media only screen and (max-width:320px){.row[data-v-042a0474]{width:215px}}[data-v-042a0474] img,[data-v-042a0474] video{max-height:560px}h2[data-v-042a0474]{font-size:1.88235rem;line-height:1.25;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}@media only screen and (max-width:1250px){h2[data-v-042a0474]{font-size:1.64706rem;line-height:1.28571;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}@media only screen and (max-width:735px){h2[data-v-042a0474]{font-size:1.41176rem;line-height:1.33333;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}.label[data-v-042a0474]{display:block;font-size:1.23529rem;line-height:1.19048;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);margin-bottom:var(--spacing-stacked-margin-small);color:var(--color-eyebrow)}@media only screen and (max-width:735px){.label[data-v-042a0474]{font-size:1.11765rem;line-height:1.21053;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}.content[data-v-042a0474]{margin-bottom:1.5rem}.right-column[data-v-042a0474]{margin-left:auto}@media only screen and (max-width:735px){.row[data-v-042a0474]{display:block}.col+.col[data-v-042a0474]{margin-top:40px}}@media only screen and (max-width:735px){.call-to-action[data-v-426a965c]{margin-top:0}}.headline[data-v-d46a1474]{margin-bottom:var(--spacing-stacked-margin-large)}.heading[data-v-d46a1474]{font-size:2.82353rem;line-height:1.08333;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);color:var(--color-header-text)}@media only screen and (max-width:1250px){.heading[data-v-d46a1474]{font-size:2.35294rem;line-height:1.1;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}@media only screen and (max-width:735px){.heading[data-v-d46a1474]{font-size:1.88235rem;line-height:1.125;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}.dark .heading[data-v-d46a1474]{color:#fff}.eyebrow[data-v-d46a1474]{font-size:1.41176rem;line-height:1.16667;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);display:block;margin-bottom:var(--spacing-stacked-margin-small);color:var(--color-eyebrow)}@media only screen and (max-width:1250px){.eyebrow[data-v-d46a1474]{font-size:1.23529rem;line-height:1.19048;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}.metadata[data-v-94ff76c0]{display:flex}.item[data-v-94ff76c0]{font-size:.70588rem;line-height:1.33333;font-weight:600;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);display:flex;flex-direction:column;justify-content:flex-end;align-items:center;border-right:1px solid #fff;padding:0 27.5px}@media only screen and (max-width:735px){.item[data-v-94ff76c0]{font-size:.64706rem;line-height:1.63636;font-weight:600;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);padding:0 8px}}.item[data-v-94ff76c0]:first-of-type{padding-left:0}.item[data-v-94ff76c0]:last-of-type{border:none}@media only screen and (max-width:735px){.item[data-v-94ff76c0]:last-of-type{padding-right:0}}.content[data-v-94ff76c0]{color:#fff}.icon[data-v-94ff76c0]{font-size:2.82353rem;line-height:1.08333;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}@media only screen and (max-width:1250px){.icon[data-v-94ff76c0]{font-size:2.35294rem;line-height:1.1;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}@media only screen and (max-width:735px){.icon[data-v-94ff76c0]{font-size:1.88235rem;line-height:1.125;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}.small-icon[data-v-94ff76c0]{width:1em;height:1em;margin-left:.2rem}.small-icon.xcode-icon[data-v-94ff76c0]{width:.8em;height:.8em}.content-link[data-v-94ff76c0]{display:flex;align-items:center}a[data-v-94ff76c0]{color:var(--colors-link,var(--color-tutorials-overview-link))}.duration[data-v-94ff76c0]{display:flex;align-items:baseline;font-size:2.35294rem;line-height:1;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);line-height:1.8rem}@media only screen and (max-width:735px){.duration[data-v-94ff76c0]{font-size:1.64706rem;line-height:1;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);line-height:1.3rem}}.minutes[data-v-94ff76c0]{display:inline-block;font-size:1.64706rem;line-height:1;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);line-height:1.3rem}@media only screen and (max-width:735px){.minutes[data-v-94ff76c0]{font-size:1rem;line-height:1.23529;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);line-height:.8rem}}.item-large-icon[data-v-94ff76c0]{height:2.3rem;max-width:100%}@media only screen and (max-width:735px){.item-large-icon[data-v-94ff76c0]{height:1.5rem;max-width:100%}}.bottom[data-v-94ff76c0]{margin-top:13px}@media only screen and (max-width:735px){.bottom[data-v-94ff76c0]{margin-top:8px}}.hero[data-v-55543c5a]{color:var(--color-tutorial-hero-text);position:relative}.bg[data-v-55543c5a],.hero[data-v-55543c5a]{background-color:var(--color-tutorial-hero-background)}.bg[data-v-55543c5a]{background-position:top;background-repeat:no-repeat;background-size:cover;content:"";height:100%;left:0;opacity:.3;position:absolute;top:0;width:100%}.row[data-v-55543c5a]{margin-left:auto;margin-right:auto;width:980px;padding:80px 0}@media only screen and (max-width:1250px){.row[data-v-55543c5a]{width:692px}}@media only screen and (max-width:735px){.row[data-v-55543c5a]{width:87.5%}}@media only screen and (max-width:320px){.row[data-v-55543c5a]{width:215px}}.col[data-v-55543c5a]{z-index:1}[data-v-55543c5a] .eyebrow{font-size:1.41176rem;line-height:1.16667;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);color:var(--color-hero-eyebrow)}@media only screen and (max-width:1250px){[data-v-55543c5a] .eyebrow{font-size:1.23529rem;line-height:1.19048;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}.headline[data-v-55543c5a]{font-size:2.82353rem;line-height:1.08333;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);margin-bottom:2rem}@media only screen and (max-width:1250px){.headline[data-v-55543c5a]{font-size:2.35294rem;line-height:1.1;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}@media only screen and (max-width:735px){.headline[data-v-55543c5a]{font-size:1.88235rem;line-height:1.125;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}.intro[data-v-55543c5a]{font-size:1.23529rem;line-height:1.38095;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}@media only screen and (max-width:735px){.intro[data-v-55543c5a]{font-size:1.11765rem;line-height:1.42105;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}.content+p[data-v-55543c5a]{margin-top:var(--spacing-stacked-margin-large)}@media only screen and (max-width:735px){.content+p[data-v-55543c5a]{margin-top:8px}}.call-to-action[data-v-55543c5a]{display:flex;align-items:center}.call-to-action .cta-icon[data-v-55543c5a]{margin-left:.4rem;width:1em;height:1em}.metadata[data-v-55543c5a]{margin-top:2rem}.video-asset[data-v-55543c5a]{display:grid;height:100vh;margin:0;place-items:center center}.video-asset[data-v-55543c5a] video{max-width:1280px;min-width:320px;width:100%}@media only screen and (max-width:735px){.headline[data-v-55543c5a]{margin-bottom:19px}}.tutorial-hero[data-v-35a9482f]{margin-bottom:80px}@media only screen and (max-width:735px){.tutorial-hero[data-v-35a9482f]{margin-bottom:0}}.title[data-v-28135d78]{font-size:.70588rem;line-height:1.33333;color:var(--colors-secondary-label,var(--color-secondary-label))}.title[data-v-19ed40e2],.title[data-v-28135d78]{font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}.title[data-v-19ed40e2]{font-size:1.11765rem;line-height:1.21053;color:var(--colors-header-text,var(--color-header-text));margin:25px 0}.question-content[data-v-19ed40e2] code{font-size:.76471rem;line-height:1.84615;font-weight:400;font-family:var(--typography-html-font-mono,Menlo,monospace)}.choices[data-v-19ed40e2]{display:flex;flex-direction:column;padding:0;list-style:none;margin:25px 0}.choice[data-v-19ed40e2]{font-size:.82353rem;line-height:1.42857;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);flex:1;border-radius:var(--border-radius,4px);margin:8px 0;padding:1.5rem 40px;cursor:pointer;background:var(--colors-text-background,var(--color-text-background));display:flex;flex-direction:column;justify-content:center;border-width:1px;border-style:solid;border-color:var(--colors-grid,var(--color-grid));position:relative}.choice[data-v-19ed40e2] img{max-height:23.52941rem}.choice[data-v-19ed40e2]:first-of-type{margin-top:0}.choice[data-v-19ed40e2] code{font-size:.76471rem;line-height:1.84615;font-weight:400;font-family:var(--typography-html-font-mono,Menlo,monospace)}.controls[data-v-19ed40e2]{text-align:center;margin-bottom:40px}.controls .button-cta[data-v-19ed40e2]{margin:.5rem;margin-top:0;padding:.3rem 3rem;min-width:8rem}input[type=radio][data-v-19ed40e2]{position:absolute;width:100%;left:0;height:100%;opacity:0;z-index:-1}.active[data-v-19ed40e2]{border-color:var(--color-tutorial-quiz-border-active);box-shadow:0 0 0 4px var(--color-focus-color);outline:none}.active [data-v-19ed40e2]{color:var(--colors-text,var(--color-text))}.correct[data-v-19ed40e2]{background:var(--color-form-valid-background);border-color:var(--color-form-valid)}.correct .choice-icon[data-v-19ed40e2]{fill:var(--color-form-valid)}.incorrect[data-v-19ed40e2]{background:var(--color-form-error-background);border-color:var(--color-form-error)}.incorrect .choice-icon[data-v-19ed40e2]{fill:var(--color-form-error)}.correct[data-v-19ed40e2],.incorrect[data-v-19ed40e2]{position:relative}.correct .choice-icon[data-v-19ed40e2],.incorrect .choice-icon[data-v-19ed40e2]{position:absolute;top:11px;left:10px;font-size:20px;width:1.05em}.disabled[data-v-19ed40e2]{pointer-events:none}.answer[data-v-19ed40e2]{margin:.5rem 1.5rem .5rem 0;font-size:.70588rem;line-height:1.33333;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}.answer[data-v-19ed40e2]:last-of-type{margin-bottom:0}[data-v-19ed40e2] .question>.code-listing{padding:unset;border-radius:0}[data-v-19ed40e2] pre{padding:0}[data-v-19ed40e2] img{display:block;margin-left:auto;margin-right:auto;max-width:100%}.title[data-v-65e3c02c]{font-size:1.88235rem;line-height:1.25;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);color:var(--colors-header-text,var(--color-header-text))}@media only screen and (max-width:1250px){.title[data-v-65e3c02c]{font-size:1.64706rem;line-height:1.28571;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}@media only screen and (max-width:735px){.title[data-v-65e3c02c]{font-size:1.41176rem;line-height:1.33333;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}.title p[data-v-65e3c02c]{color:var(--colors-text,var(--color-text))}.assessments[data-v-65e3c02c]{box-sizing:content-box;padding:0 1rem;background:var(--color-tutorial-assessments-background);margin-left:auto;margin-right:auto;width:980px;margin-bottom:80px}@media only screen and (max-width:1250px){.assessments[data-v-65e3c02c]{width:692px}}@media only screen and (max-width:735px){.assessments[data-v-65e3c02c]{width:87.5%}}@media only screen and (max-width:320px){.assessments[data-v-65e3c02c]{width:215px}}.banner[data-v-65e3c02c]{padding:40px 0;border-bottom:1px solid;margin-bottom:40px;border-color:var(--colors-grid,var(--color-grid));text-align:center}.success[data-v-65e3c02c]{text-align:center;padding-bottom:40px;font-size:1.88235rem;line-height:1.25;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);color:var(--colors-text,var(--color-text))}@media only screen and (max-width:1250px){.success[data-v-65e3c02c]{font-size:1.64706rem;line-height:1.28571;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}@media only screen and (max-width:735px){.success[data-v-65e3c02c]{font-size:1.41176rem;line-height:1.33333;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}.assessments-wrapper[data-v-65e3c02c]{padding-top:80px}.assessments-wrapper[data-v-3c94366b]{padding-bottom:40px;padding-top:0}@media only screen and (max-width:735px){.assessments-wrapper[data-v-3c94366b]{padding-top:80px}}.article[data-v-7d4562ea]{background:var(--colors-article-background,var(--color-article-background))}@media only screen and (max-width:735px){.article[data-v-7d4562ea]{background:var(--colors-text-background,var(--color-article-body-background))}}.intro-container[data-v-7f9a8f65]{margin-bottom:80px}.intro[data-v-7f9a8f65]{display:flex;align-items:center}@media only screen and (max-width:735px){.intro[data-v-7f9a8f65]{padding-bottom:0;flex-direction:column}}.intro.ide .media[data-v-7f9a8f65] img{background-color:var(--colors-text-background,var(--color-text-background))}.col.left[data-v-7f9a8f65]{padding-right:40px}@media only screen and (max-width:1250px){.col.left[data-v-7f9a8f65]{padding-right:28px}}@media only screen and (max-width:735px){.col.left[data-v-7f9a8f65]{margin-left:auto;margin-right:auto;width:980px;padding-right:0}}@media only screen and (max-width:735px) and (max-width:1250px){.col.left[data-v-7f9a8f65]{width:692px}}@media only screen and (max-width:735px) and (max-width:735px){.col.left[data-v-7f9a8f65]{width:87.5%}}@media only screen and (max-width:735px) and (max-width:320px){.col.left[data-v-7f9a8f65]{width:215px}}.col.right[data-v-7f9a8f65]{padding-left:40px}@media only screen and (max-width:1250px){.col.right[data-v-7f9a8f65]{padding-left:28px}}@media only screen and (max-width:735px){.col.right[data-v-7f9a8f65]{padding-left:0}}.content[data-v-7f9a8f65]{font-size:1rem;line-height:1.47059;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}.media[data-v-7f9a8f65] img{width:auto;max-height:560px;min-height:18.82353rem;-o-object-fit:scale-down;object-fit:scale-down}@media only screen and (max-width:735px){.media[data-v-7f9a8f65]{margin:0;margin-top:40px}.media[data-v-7f9a8f65] img,.media[data-v-7f9a8f65] video{max-height:80vh}}.media[data-v-7f9a8f65] .asset{padding:0 20px}.headline[data-v-7f9a8f65]{color:var(--colors-header-text,var(--color-header-text))}[data-v-7f9a8f65] .eyebrow{font-size:1.23529rem;line-height:1.19048;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}@media only screen and (max-width:735px){[data-v-7f9a8f65] .eyebrow{font-size:1.11765rem;line-height:1.21053;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}[data-v-7f9a8f65] .eyebrow a{color:inherit}[data-v-7f9a8f65] .heading{font-size:1.88235rem;line-height:1.25;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}@media only screen and (max-width:1250px){[data-v-7f9a8f65] .heading{font-size:1.64706rem;line-height:1.28571;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}@media only screen and (max-width:735px){[data-v-7f9a8f65] .heading{font-size:1.41176rem;line-height:1.33333;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}.expanded-intro[data-v-7f9a8f65]{margin-left:auto;margin-right:auto;width:980px;margin-top:40px}@media only screen and (max-width:1250px){.expanded-intro[data-v-7f9a8f65]{width:692px}}@media only screen and (max-width:735px){.expanded-intro[data-v-7f9a8f65]{width:87.5%}}@media only screen and (max-width:320px){.expanded-intro[data-v-7f9a8f65]{width:215px}}[data-v-7f9a8f65] .cols-2{gap:20px 16.66667%}[data-v-7f9a8f65] .cols-3 .column{gap:20px 12.5%}.code-preview[data-v-4f53426a]{position:sticky;overflow-y:auto;-webkit-overflow-scrolling:touch;background-color:var(--background,var(--color-step-background));height:calc(100vh - 3.05882rem)}.code-preview.ide[data-v-4f53426a]{height:100vh}.code-preview[data-v-4f53426a] .code-listing{color:var(--text,var(--color-code-plain))}.code-preview[data-v-4f53426a] .code-listing .code-line-container{padding-right:14px}.code-preview[data-v-4f53426a] pre{font-size:.70588rem;line-height:1.83333;font-weight:400;font-family:var(--typography-html-font-mono,Menlo,monospace)}.header[data-v-4f53426a]{font-size:.70588rem;line-height:1.33333;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);position:relative;display:flex;justify-content:space-between;align-items:center;width:-webkit-fill-available;width:-moz-available;width:stretch;cursor:pointer;font-weight:600;padding:8px 12px;border-radius:var(--border-radius,4px) var(--border-radius,4px) 0 0;z-index:1;background:var(--color-runtime-preview-background);color:var(--colors-runtime-preview-text,var(--color-runtime-preview-text))}.header[data-v-4f53426a]:focus{outline-style:none}#app.fromkeyboard .header[data-v-4f53426a]:focus{box-shadow:0 0 0 4px var(--color-focus-color);outline:none;border-color:var(--color-focus-border-color)}.runtime-preview[data-v-4f53426a]{--color-runtime-preview-shadow:rgba(0,0,0,0.4);position:absolute;top:0;right:0;background:var(--color-runtime-preview-background);border-radius:var(--border-radius,4px);margin:1rem;margin-left:0;transition:width .2s ease-in;box-shadow:0 0 3px 0 var(--color-runtime-preview-shadow)}@media screen{[data-color-scheme=dark] .runtime-preview[data-v-4f53426a]{--color-runtime-preview-shadow:hsla(0,0%,100%,0.4)}}@media screen and (prefers-color-scheme:dark){[data-color-scheme=auto] .runtime-preview[data-v-4f53426a]{--color-runtime-preview-shadow:hsla(0,0%,100%,0.4)}}@supports not ((width:-webkit-fill-available) or (width:-moz-available) or (width:stretch)){.runtime-preview[data-v-4f53426a]{display:flex;flex-direction:column}}.runtime-preview .runtimve-preview__container[data-v-4f53426a]{border-radius:var(--border-radius,4px);overflow:hidden}.runtime-preview-ide[data-v-4f53426a]{top:0}.runtime-preview-ide .runtime-preview-asset[data-v-4f53426a] img{background-color:var(--color-runtime-preview-background)}.runtime-preview.collapsed[data-v-4f53426a]{box-shadow:0 0 3px 0 var(--color-runtime-preview-shadow);width:102px}.runtime-preview.collapsed .header[data-v-4f53426a]{border-radius:var(--border-radius,4px)}.runtime-preview.disabled[data-v-4f53426a]{box-shadow:0 0 3px 0 transparent}.runtime-preview.disabled .header[data-v-4f53426a]{color:var(--color-runtime-preview-disabled-text);cursor:auto}.runtime-preview-asset[data-v-4f53426a]{border-radius:0 0 var(--border-radius,4px) var(--border-radius,4px)}.runtime-preview-asset[data-v-4f53426a] img{border-bottom-left-radius:var(--border-radius,4px);border-bottom-right-radius:var(--border-radius,4px)}.preview-icon[data-v-4f53426a]{height:.8em;width:.8em;-webkit-user-select:none;-moz-user-select:none;user-select:none}.preview-show[data-v-4f53426a]{transform:scale(-1)}[data-v-5ad4e037] pre{padding:10px 0}.toggle-preview[data-v-78763c14]{color:var(--color-runtime-preview-disabled-text);display:flex;align-items:center}a[data-v-78763c14]{color:var(--url,var(--color-link))}.toggle-text[data-v-78763c14]{display:flex;align-items:center}svg.toggle-icon[data-v-78763c14]{width:1em;height:1em;margin-left:.5em}.mobile-code-preview[data-v-1aed4baa]{background-color:var(--background,var(--color-step-background));padding:14px 0}@media only screen and (max-width:735px){.mobile-code-preview[data-v-1aed4baa]{display:flex;flex-direction:column}}.runtime-preview-modal-content[data-v-1aed4baa]{padding:45px 60px 0 60px;min-width:200px}.runtime-preview-modal-content[data-v-1aed4baa] img:not(.file-icon){border-radius:var(--border-radius,4px);box-shadow:0 0 3px rgba(0,0,0,.4);max-height:80vh;width:auto;display:block;margin-bottom:1rem}.runtime-preview-modal-content .runtime-preview-label[data-v-1aed4baa]{font-size:.70588rem;line-height:1.33333;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);color:var(--color-runtime-preview-text);display:block;text-align:center;padding:.5em}[data-v-1aed4baa] .code-listing{color:var(--text,var(--color-code-plain))}[data-v-1aed4baa] .full-code-listing{padding-top:60px;min-height:calc(100vh - 60px)}[data-v-1aed4baa] pre{font-size:.70588rem;line-height:1.83333;font-weight:400;font-family:var(--typography-html-font-mono,Menlo,monospace)}.preview-toggle-container[data-v-1aed4baa]{align-self:flex-end;margin-right:20px}.step-container[data-v-eb45ec92]{margin:0}.step-container[data-v-eb45ec92]:not(:last-child){margin-bottom:100px}@media only screen and (max-width:735px){.step-container[data-v-eb45ec92]:not(:last-child){margin-bottom:80px}}.step[data-v-eb45ec92]{position:relative;border-radius:var(--tutorial-step-border-radius,var(--border-radius,4px));padding:1rem 2rem;background-color:var(--color-step-background);overflow:hidden;filter:blur(0)}.step[data-v-eb45ec92]:before{content:"";position:absolute;top:0;left:0;border:1px solid var(--color-step-focused);background-color:var(--color-step-focused);height:calc(100% - 2px);width:4px;opacity:0;transition:opacity .15s ease-in}.step.focused[data-v-eb45ec92],.step[data-v-eb45ec92]:focus{outline:none}.step.focused[data-v-eb45ec92]:before,.step[data-v-eb45ec92]:focus:before{opacity:1}@media only screen and (max-width:735px){.step[data-v-eb45ec92]{padding-left:2rem}.step[data-v-eb45ec92]:before{opacity:1}}.step-label[data-v-eb45ec92]{font-size:.70588rem;line-height:1.33333;font-weight:600;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);color:var(--colors-text,var(--color-step-text));margin-bottom:var(--spacing-stacked-margin-small)}.caption[data-v-eb45ec92]{border-top:1px solid;border-color:var(--color-step-caption);padding:1rem 0 0 0;margin-top:1rem}.media-container[data-v-eb45ec92]{display:none}@media only screen and (max-width:735px){.step[data-v-eb45ec92]{margin:0 .58824rem 1.17647rem .58824rem}.step.focused[data-v-eb45ec92],.step[data-v-eb45ec92]:focus{outline:none}.media-container[data-v-eb45ec92]{display:block;position:relative}.media-container[data-v-eb45ec92] img,.media-container[data-v-eb45ec92] video{max-height:80vh}[data-v-eb45ec92] .asset{padding:0 20px}}.steps[data-v-2786be2a]{position:relative;font-size:.82353rem;line-height:1.42857;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);display:flex;color:var(--colors-text,var(--color-text))}@media only screen and (max-width:735px){.steps[data-v-2786be2a]{padding-top:80px}.steps[data-v-2786be2a]:before{position:absolute;top:0;border-top:1px solid var(--color-fill-gray-tertiary);content:"";width:calc(100% - 2.35294rem);margin:0 1.17647rem}}.steps[data-v-2786be2a] aside{background:unset;border:unset;box-shadow:unset;-moz-column-break-inside:unset;break-inside:unset;padding:unset}.steps[data-v-2786be2a] aside .label{font-size:.70588rem;line-height:1.33333;font-weight:600;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}.content-container[data-v-2786be2a]{flex:none;margin-right:4.16667%;width:37.5%;margin-top:140px;margin-bottom:94vh}@media only screen and (max-width:735px){.content-container[data-v-2786be2a]{margin-top:0;margin-bottom:0;height:100%;margin-left:0;margin-right:0;position:relative;width:100%}}.asset-container[data-v-2786be2a]{flex:none;height:calc(100vh - 3.05882rem);background-color:var(--background,var(--color-step-background));max-width:921px;width:calc(50vw + 8.33333%);position:sticky;top:3.05882rem;transition:margin .1s ease-in-out}@media only screen and (max-width:767px){.asset-container[data-v-2786be2a]{top:2.82353rem;height:calc(100vh - 2.82353rem)}}.asset-container[data-v-2786be2a]:not(.for-step-code){overflow-y:auto;-webkit-overflow-scrolling:touch}.asset-container.ide[data-v-2786be2a]{height:100vh;top:0}@media only screen and (min-width:736px){.asset-container[data-v-2786be2a]{display:grid}.asset-container>[data-v-2786be2a]{grid-row:1;grid-column:1;height:calc(100vh - 3.05882rem)}.asset-container.ide>[data-v-2786be2a]{height:100vh}}.asset-container .step-asset[data-v-2786be2a]{box-sizing:border-box;padding:0;padding-left:40px;min-height:320px;height:100%}.asset-container .step-asset[data-v-2786be2a],.asset-container .step-asset[data-v-2786be2a] picture{height:100%;display:flex;align-items:center}.asset-container .step-asset[data-v-2786be2a] .video-replay-container{height:100%;display:flex;flex-direction:column;justify-content:center}.asset-container .step-asset[data-v-2786be2a] img,.asset-container .step-asset[data-v-2786be2a] video{width:auto;max-height:calc(100vh - 3.05882rem - 80px);max-width:531.6634px;margin:0}@media only screen and (max-width:1250px){.asset-container .step-asset[data-v-2786be2a] img,.asset-container .step-asset[data-v-2786be2a] video{max-width:363.66436px}}.asset-container .step-asset[data-v-2786be2a] .video-replay-container,.asset-container .step-asset[data-v-2786be2a] img{min-height:320px}.asset-container .step-asset[data-v-2786be2a] .video-replay-container video{min-height:280px}@media only screen and (max-width:735px){.asset-container[data-v-2786be2a]{display:none}}.asset-wrapper[data-v-2786be2a]{width:63.2%;align-self:center;transition:transform .25s ease-out;will-change:transform}.asset-wrapper.ide .step-asset[data-v-2786be2a] img{background-color:var(--background,var(--color-step-background))}[data-v-2786be2a] .runtime-preview-asset{display:grid}[data-v-2786be2a] .runtime-preview-asset>*{grid-row:1;grid-column:1}.interstitial[data-v-2786be2a]{padding:0 2rem}.interstitial[data-v-2786be2a]:not(:first-child){margin-top:5.88235rem}.interstitial[data-v-2786be2a]:not(:last-child){margin-bottom:30px}@media only screen and (max-width:735px){.interstitial[data-v-2786be2a]{margin-left:auto;margin-right:auto;width:980px;padding:0}}@media only screen and (max-width:735px) and (max-width:1250px){.interstitial[data-v-2786be2a]{width:692px}}@media only screen and (max-width:735px) and (max-width:735px){.interstitial[data-v-2786be2a]{width:87.5%}}@media only screen and (max-width:735px) and (max-width:320px){.interstitial[data-v-2786be2a]{width:215px}}@media only screen and (max-width:735px){.interstitial[data-v-2786be2a]:not(:first-child){margin-top:0}}.fade-enter-active[data-v-2786be2a],.fade-leave-active[data-v-2786be2a]{transition:opacity .3s ease-in-out}.fade-enter[data-v-2786be2a],.fade-leave-to[data-v-2786be2a]{opacity:0}.section[data-v-6b3a0b3a]{padding-top:80px}.sections[data-v-79a75e9e]{margin-left:auto;margin-right:auto;width:980px}@media only screen and (max-width:1250px){.sections[data-v-79a75e9e]{width:692px}}@media only screen and (max-width:735px){.sections[data-v-79a75e9e]{width:87.5%}}@media only screen and (max-width:320px){.sections[data-v-79a75e9e]{width:215px}}@media only screen and (max-width:735px){.sections[data-v-79a75e9e]{margin:0;width:100%}}.tutorial[data-v-611d0574]{background-color:var(--colors-text-background,var(--color-tutorial-background))}
\ No newline at end of file
--- /dev/null
+/*!
+ * This source file is part of the Swift.org open source project
+ *
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ *
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */.tutorials-navigation-link[data-v-e9f9b59c]{color:var(--color-tutorials-overview-navigation-link);transition:color .3s linear}.tutorials-navigation-link[data-v-e9f9b59c]:hover{text-decoration:none;transition:none;color:var(--color-tutorials-overview-navigation-link-hover)}.tutorials-navigation-link.active[data-v-e9f9b59c]{color:var(--color-tutorials-overview-navigation-link-active)}.tutorials-navigation-list[data-v-6f2800d1]{list-style-type:none;margin:0}.tutorials-navigation-list li+li[data-v-6f2800d1]:not(.volume--named){margin-top:24px}.tutorials-navigation-list .volume--named+.volume--named[data-v-6f2800d1]{margin-top:12px}.expand-enter-active,.expand-leave-active{transition:height .3s ease-in-out;overflow:hidden}.expand-enter,.expand-leave-to{height:0}.toggle[data-v-489416f8]{color:#f0f0f0;line-height:21px;display:flex;align-items:center;width:100%;font-weight:600;padding:6px 6px 6px 0;border-bottom:1px solid #2a2a2a;text-decoration:none;box-sizing:border-box}@media only screen and (max-width:767px){.toggle[data-v-489416f8]{padding-right:6px;border-bottom-color:hsla(0,0%,100%,.1)}}.toggle .text[data-v-489416f8]{word-break:break-word}.toggle[data-v-489416f8]:hover{text-decoration:none}.toggle .toggle-icon[data-v-489416f8]{display:inline-block;transition:transform .2s ease-in;height:.4em;width:.4em;margin-left:auto;margin-right:.2em}.collapsed .toggle .toggle-icon[data-v-489416f8]{transform:rotate(45deg)}.collapsed .toggle[data-v-489416f8],.collapsed .toggle[data-v-489416f8]:hover{color:#b0b0b0}.tutorials-navigation-menu-content[data-v-489416f8]{opacity:1;transition:height .2s ease-in,opacity .2s ease-in}.collapsed .tutorials-navigation-menu-content[data-v-489416f8]{height:0;opacity:0}.tutorials-navigation-menu-content .tutorials-navigation-list[data-v-489416f8]{padding:24px 0 12px 0}.tutorials-navigation[data-v-79093ed6]{font-size:1rem;line-height:1.23529;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}.nav-title-content[data-v-854b4dd6]{max-width:100%}.title[data-v-854b4dd6]{color:var(--color-nav-root-title,currentColor);text-overflow:ellipsis;white-space:nowrap;overflow:hidden;display:inline-block;vertical-align:top;max-width:296px}@media only screen and (max-width:1023px){.title[data-v-854b4dd6]{max-width:205px}}@media only screen and (max-width:767px){.title[data-v-854b4dd6]{flex-basis:fill;display:initial;vertical-align:initial;max-width:none}}.subhead[data-v-854b4dd6]{color:var(--color-nav-root-subhead)}.theme-dark .subhead[data-v-854b4dd6]{color:var(--color-nav-dark-root-subhead)}.nav[data-v-b806ee20] .nav-menu{padding-top:0}.nav[data-v-b806ee20] .nav-menu .nav-menu-items{margin-left:auto}@media only screen and (min-width:768px){.nav[data-v-b806ee20] .nav-menu .nav-menu-items .in-page-navigation{display:none}}@media only screen and (min-width:320px) and (max-width:735px){.nav[data-v-b806ee20] .nav-menu .nav-menu-items{padding:18px 0 40px}}.hero[data-v-383dab71]{margin-left:auto;margin-right:auto;width:980px;padding-bottom:4.70588rem;padding-top:4.70588rem}@media only screen and (max-width:1250px){.hero[data-v-383dab71]{width:692px}}@media only screen and (max-width:735px){.hero[data-v-383dab71]{width:87.5%}}@media only screen and (max-width:320px){.hero[data-v-383dab71]{width:215px}}.copy-container[data-v-383dab71]{margin:0 auto;text-align:center;width:720px}.title[data-v-383dab71]{font-size:2.82353rem;line-height:1.08333;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);color:var(--color-tutorials-overview-content)}@media only screen and (max-width:1250px){.title[data-v-383dab71]{font-size:2.35294rem;line-height:1.1;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}@media only screen and (max-width:735px){.title[data-v-383dab71]{font-size:1.88235rem;line-height:1.125;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}.content[data-v-383dab71]{font-size:1.23529rem;line-height:1.38095;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);color:var(--color-tutorials-overview-content)}@media only screen and (max-width:735px){.content[data-v-383dab71]{font-size:1.11765rem;line-height:1.42105;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}.meta[data-v-383dab71]{color:var(--color-tutorials-overview-content-alt);align-items:center;display:flex;justify-content:center}.meta-content[data-v-383dab71]{font-size:.82353rem;line-height:1.42857;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}.meta .timer-icon[data-v-383dab71]{margin-right:.35294rem;height:16px;width:16px;fill:var(--color-tutorials-overview-icon)}@media only screen and (max-width:735px){.meta .timer-icon[data-v-383dab71]{margin-right:.29412rem;height:.82353rem;width:.82353rem}}.meta .time[data-v-383dab71]{font-size:1.11765rem;line-height:1.21053;font-weight:600;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}@media only screen and (max-width:735px){.meta .time[data-v-383dab71]{font-size:1rem;line-height:1.11765;font-weight:600;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}.title+.content[data-v-383dab71]{margin-top:1.47059rem}.content+.meta[data-v-383dab71]{margin-top:1.17647rem}.button-cta[data-v-383dab71]{margin-top:1.76471rem}*+.asset[data-v-383dab71]{margin-top:4.11765rem}@media only screen and (max-width:1250px){.copy-container[data-v-383dab71]{width:636px}}@media only screen and (max-width:735px){.hero[data-v-383dab71]{padding-bottom:1.76471rem;padding-top:2.35294rem}.copy-container[data-v-383dab71]{width:100%}.title+.content[data-v-383dab71]{margin-top:.88235rem}.button-cta[data-v-383dab71]{margin-top:1.41176rem}*+.asset[data-v-383dab71]{margin-top:2.23529rem}}.image[data-v-569db166]{margin-bottom:10px}.name[data-v-569db166]{font-size:1.88235rem;line-height:1.125;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);color:var(--color-tutorials-overview-header-text,#f0f0f0);word-break:break-word}@media only screen and (max-width:1250px){.name[data-v-569db166]{font-size:1.64706rem;line-height:1.14286;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}@media only screen and (max-width:735px){.name[data-v-569db166]{font-size:1.41176rem;line-height:1.16667;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}.content[data-v-569db166]{font-size:1rem;line-height:1.23529;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);color:var(--color-tutorials-overview-content-alt);margin-top:10px}.volume-name[data-v-569db166]{padding:50px 60px;text-align:center;background:var(--color-tutorials-overview-fill-secondary,#161616);margin:2px 0}@media only screen and (max-width:735px){.volume-name[data-v-569db166]{padding:40px 20px}}.document-icon[data-v-3a80772b]{margin-left:-3px}.tile[data-v-96abac22]{background:var(--color-tutorials-overview-fill-secondary,#161616);padding:40px 30px;color:var(--color-tutorials-overview-content-alt)}.content[data-v-96abac22] a,a[data-v-96abac22]{color:var(--colors-link,var(--color-tutorials-overview-link))}.icon[data-v-96abac22]{display:block;height:1.47059rem;line-height:1.47059rem;margin-bottom:.58824rem;width:1.47059rem}.icon[data-v-96abac22] svg.svg-icon{width:100%;max-height:100%;fill:var(--color-tutorials-overview-icon)}.icon[data-v-96abac22] svg.svg-icon .svg-icon-stroke{stroke:var(--color-tutorials-overview-content-alt)}.title[data-v-96abac22]{font-size:1.23529rem;line-height:1.19048;font-weight:600;margin-bottom:.8em}.content[data-v-96abac22],.link[data-v-96abac22],.title[data-v-96abac22]{font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}.content[data-v-96abac22],.link[data-v-96abac22]{font-size:.82353rem;line-height:1.42857;font-weight:400}.content[data-v-96abac22]{color:var(--color-tutorials-overview-content-alt)}.link[data-v-96abac22]{display:block;margin-top:1.17647rem}.link .link-icon[data-v-96abac22]{margin-left:.2em;width:.6em;height:.6em}[data-v-96abac22] .content ul{list-style-type:none;margin-left:0;font-size:.82353rem;line-height:1.28571;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}[data-v-96abac22] .content ul li:before{content:"\200B";position:absolute}[data-v-96abac22] .content li+li{margin-top:8px}@media only screen and (max-width:735px){.tile[data-v-96abac22]{padding:1.76471rem 1.17647rem}}.tile-group[data-v-015f9f13]{display:grid;grid-column-gap:2px;grid-row-gap:2px}.tile-group.count-1[data-v-015f9f13]{grid-template-columns:1fr;text-align:center}.tile-group.count-1[data-v-015f9f13] .icon{margin-left:auto;margin-right:auto}.tile-group.count-2[data-v-015f9f13]{grid-template-columns:repeat(2,1fr)}.tile-group.count-3[data-v-015f9f13]{grid-template-columns:repeat(3,1fr)}.tile-group.count-4[data-v-015f9f13]{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,auto)}.tile-group.count-5[data-v-015f9f13]{grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(2,auto)}.tile-group.count-5 .tile[data-v-015f9f13]{grid-column-end:span 2}.tile-group.count-5 .tile[data-v-015f9f13]:nth-of-type(-n+2){grid-column-end:span 3}.tile-group.count-6[data-v-015f9f13]{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,auto)}@media only screen and (min-width:768px) and (max-width:1250px){.tile-group.tile-group[data-v-015f9f13]{grid-template-columns:1fr;grid-template-rows:auto}}@media only screen and (max-width:735px){.tile-group.count-1[data-v-015f9f13],.tile-group.count-2[data-v-015f9f13],.tile-group.count-3[data-v-015f9f13],.tile-group.count-4[data-v-015f9f13],.tile-group.count-5[data-v-015f9f13],.tile-group.count-6[data-v-015f9f13]{grid-template-columns:1fr;grid-template-rows:auto}}.title[data-v-7f8022c1]{font-size:1.88235rem;line-height:1.125;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);color:#f0f0f0}@media only screen and (max-width:1250px){.title[data-v-7f8022c1]{font-size:1.64706rem;line-height:1.14286;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}@media only screen and (max-width:735px){.title[data-v-7f8022c1]{font-size:1.41176rem;line-height:1.16667;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}.content[data-v-7f8022c1]{font-size:1rem;line-height:1.23529;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);color:#b0b0b0;margin-top:10px}.topic-list[data-v-45ec37c5]{list-style-type:none;margin:50px 0 0 0;position:relative}.topic-list li[data-v-45ec37c5]:before{content:"\200B";position:absolute}.topic-list[data-v-45ec37c5]:before{content:"";border-left:1px solid var(--color-fill-quaternary);display:block;height:calc(100% - .88235rem);left:.88235rem;position:absolute;top:50%;transform:translateY(-50%);width:0}.topic[data-v-45ec37c5]{font-size:1rem;line-height:1.47059;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);display:flex;align-items:flex-start}@media only screen and (max-width:735px){.topic[data-v-45ec37c5]{font-size:.82353rem;line-height:1.28571;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}.topic+.topic[data-v-45ec37c5]{margin-top:.58824rem}.topic .topic-icon[data-v-45ec37c5]{background-color:var(--color-fill-quaternary);border-radius:50%;flex-shrink:0;height:1.76471rem;width:1.76471rem;margin-right:1.17647rem;position:relative;text-align:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:.47059rem;box-sizing:border-box;display:flex;justify-content:center;align-items:center}.topic .topic-icon svg[data-v-45ec37c5]{fill:var(--color-tutorials-overview-icon);max-width:100%;max-height:100%;width:100%}.container[data-v-45ec37c5]{align-items:baseline;display:flex;justify-content:space-between;width:100%;padding-top:.11765rem}.container[data-v-45ec37c5]:hover{text-decoration:none}.container:hover .link[data-v-45ec37c5]{text-decoration:underline}.timer-icon[data-v-45ec37c5]{margin-right:.29412rem;height:.70588rem;width:.70588rem;fill:var(--color-tutorials-overview-icon)}.time[data-v-45ec37c5]{font-size:.82353rem;line-height:1.28571;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);color:var(--color-tutorials-overview-content-alt);align-items:center;display:inline-flex}.link[data-v-45ec37c5]{padding-right:.58824rem;color:var(--colors-link,var(--color-tutorials-overview-link))}@media only screen and (min-width:768px) and (max-width:1250px){.topic-list[data-v-45ec37c5]{margin-top:2.35294rem}}@media only screen and (max-width:735px){.topic-list[data-v-45ec37c5]{margin-top:1.76471rem}.topic[data-v-45ec37c5]{height:auto;align-items:flex-start}.topic.no-time-estimate[data-v-45ec37c5]{align-items:center}.topic.no-time-estimate .topic-icon[data-v-45ec37c5]{align-self:flex-start;top:0}.topic+.topic[data-v-45ec37c5]{margin-top:1.17647rem}.topic .topic-icon[data-v-45ec37c5]{top:.29412rem;margin-right:.76471rem}.container[data-v-45ec37c5]{flex-wrap:wrap;padding-top:0}.link[data-v-45ec37c5],.time[data-v-45ec37c5]{flex-basis:100%}.time[data-v-45ec37c5]{margin-top:.29412rem}}.chapter[data-v-7468bc5e]:focus{outline:none!important}.info[data-v-7468bc5e]{align-items:center;display:flex;flex-wrap:wrap;justify-content:space-between}.name[data-v-7468bc5e]{font-size:1.23529rem;line-height:1.19048;font-weight:600;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);color:var(--color-tutorials-overview-header-text,#f0f0f0)}.name-text[data-v-7468bc5e]{word-break:break-word}.eyebrow[data-v-7468bc5e]{font-size:1rem;line-height:1.23529;font-weight:400;color:var(--color-tutorials-overview-eyebrow);display:block;font-weight:600;margin-bottom:5px}.content[data-v-7468bc5e],.eyebrow[data-v-7468bc5e]{font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}.content[data-v-7468bc5e]{font-size:.82353rem;line-height:1.42857;font-weight:400;color:var(--color-tutorials-overview-content-alt)}.asset[data-v-7468bc5e]{flex:0 0 190px}.intro[data-v-7468bc5e]{flex:0 1 360px}@media only screen and (min-width:768px) and (max-width:1250px){.asset[data-v-7468bc5e]{flex:0 0 130px}.intro[data-v-7468bc5e]{flex:0 1 260px}}@media only screen and (max-width:767px){.intro[data-v-7468bc5e]{flex:0 1 340px}}@media only screen and (max-width:735px){.info[data-v-7468bc5e]{display:block;text-align:center}.asset[data-v-7468bc5e]{margin:0 45px}.eyebrow[data-v-7468bc5e]{margin-bottom:7px}.intro[data-v-7468bc5e]{margin-top:40px}}.tile[data-v-540dbf10]{background:var(--color-tutorials-overview-fill-secondary,#161616);margin:2px 0;padding:50px 60px}.asset[data-v-540dbf10]{margin-bottom:10px}@media only screen and (min-width:768px) and (max-width:1250px){.tile[data-v-540dbf10]{padding:40px 30px}}@media only screen and (max-width:735px){.volume[data-v-540dbf10]{border-radius:0}.tile[data-v-540dbf10]{padding:40px 20px}}.learning-path[data-v-69a72bbc]{background:var(--color-tutorials-overview-fill,#000);padding:4.70588rem 0}.main-container[data-v-69a72bbc]{margin-left:auto;margin-right:auto;width:980px;align-items:stretch;display:flex;justify-content:space-between}@media only screen and (max-width:1250px){.main-container[data-v-69a72bbc]{width:692px}}@media only screen and (max-width:735px){.main-container[data-v-69a72bbc]{width:87.5%}}@media only screen and (max-width:320px){.main-container[data-v-69a72bbc]{width:215px}}.ide .main-container[data-v-69a72bbc]{justify-content:center}.secondary-content-container[data-v-69a72bbc]{flex:0 0 200px;width:200px}.tutorials-navigation[data-v-69a72bbc]{position:sticky;top:7.76471rem}.primary-content-container[data-v-69a72bbc]{flex:0 1 720px;max-width:100%}.content-sections-container .content-section[data-v-69a72bbc]{border-radius:12px;overflow:hidden}.content-sections-container .content-section+.content-section[data-v-69a72bbc]{margin-top:1.17647rem}@media only screen and (min-width:768px) and (max-width:1250px){.learning-path[data-v-69a72bbc]{padding:2.35294rem 0}.primary-content-container[data-v-69a72bbc]{flex-basis:auto;margin-left:1.29412rem}.secondary-content-container[data-v-69a72bbc]{flex:0 0 180px;width:180px}}@media only screen and (max-width:767px){.secondary-content-container[data-v-69a72bbc]{display:none}}@media only screen and (max-width:735px){.content-sections-container .content-section[data-v-69a72bbc]{border-radius:0}.content-sections-container .content-section.volume[data-v-69a72bbc]{margin-top:1.17647rem}.learning-path[data-v-69a72bbc]{padding:0}.main-container[data-v-69a72bbc]{width:100%}}.tutorials-overview[data-v-29ed9b58]{height:100%}.tutorials-overview .radial-gradient[data-v-29ed9b58]{margin-top:-3.05882rem;padding-top:3.05882rem;background:var(--color-tutorials-overview-fill-secondary,var(--color-tutorials-overview-background))}@media only screen and (max-width:735px){.tutorials-overview .radial-gradient[data-v-29ed9b58]{margin-top:-2.82353rem;padding-top:2.82353rem}}@-moz-document url-prefix(){.tutorials-overview .radial-gradient{background:#111!important}}
\ No newline at end of file
--- /dev/null
+{"variants":[{"paths":["\/documentation\/iotbluetooth"],"traits":[{"interfaceLanguage":"swift"}]},{"paths":["\/documentation\/iotbluetooth"],"traits":[{"interfaceLanguage":"occ"}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","interfaceLanguage":"swift"},"topicSections":[{"title":"Classes","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbout","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddress","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddressBook","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAiResponse","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygen","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClock","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClockInfo","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDeleteFile","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDial","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDialFile","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBEpo","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFetchDialItem","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFetchFile","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFetchMp3Item","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFileSender","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRate","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBloodOxygenItem","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBurningItem","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryCalorieItem","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryDistanceItem","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryGps","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryGpsItem","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryHeartRateItem","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryStandItem","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryStepItem","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMp3File","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtaFile","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtherTarget","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheral","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneInfo","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneNumber","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponseModel","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScanOption","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScreen","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScreenConfig","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendMp3","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendOta","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSender","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleep","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTargetStep","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTarinState","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTarget","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateConfig","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateSound","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWater","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeather","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherInfo","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherNow"]},{"title":"Protocols","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheralUUID"]},{"title":"Structures","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleepState","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleepTime","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTimeItem","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainingData","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/LRC"]},{"title":"Operators","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/==(_:_:)"]},{"title":"Type Aliases","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCompleteHandler","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCompletionHandler","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDiscoverHandler","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBProgressHandler"]},{"title":"Enumerations","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMotionMode","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType"]},{"title":"Extended Modules","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift"]}],"kind":"symbol","metadata":{"roleHeading":"Framework","externalID":"IOTBluetooth","title":"IOTBluetooth","symbolKind":"module","role":"collection","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[[]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPeripheral":{"role":"symbol","title":"IBPeripheral","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBPeripheral"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheral","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBPeripheral"}],"url":"\/documentation\/iotbluetooth\/ibperipheral"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IOTBluetoothVersionString":{"role":"symbol","title":"IOTBluetoothVersionString","fragments":[{"kind":"identifier","text":"IOTBluetoothVersionString"}],"abstract":[{"type":"text","text":"Project version string for IOTBluetooth."}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IOTBluetoothVersionString","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/iotbluetoothversionstring"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBVibrateSound":{"role":"symbol","title":"IBVibrateSound","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBVibrateSound"}],"abstract":[{"type":"text","text":"声音震动模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateSound","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBVibrateSound"}],"url":"\/documentation\/iotbluetooth\/ibvibratesound"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryGps":{"role":"symbol","title":"IBHistoryGps","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryGps"}],"abstract":[{"type":"text","text":"同步路径坐标历史数据模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryGps","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistoryGps"}],"url":"\/documentation\/iotbluetooth\/ibhistorygps"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBaseTrainingItem":{"role":"symbol","title":"IBHistoryBaseTrainingItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryBaseTrainingItem"}],"abstract":[{"type":"text","text":"基础训练历史数据模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistoryBaseTrainingItem"}],"url":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAddressBook":{"role":"symbol","title":"IBAddressBook","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAddressBook"}],"abstract":[{"type":"text","text":"通讯录模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddressBook","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAddressBook"}],"url":"\/documentation\/iotbluetooth\/ibaddressbook"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryStandItem":{"role":"symbol","title":"IBHistoryStandItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryStandItem"}],"abstract":[{"type":"text","text":"站立历史记录"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryStandItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistoryStandItem"}],"url":"\/documentation\/iotbluetooth\/ibhistorystanditem"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/LRC":{"role":"symbol","title":"LRC","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"LRC"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/LRC","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"LRC"}],"url":"\/documentation\/iotbluetooth\/lrc"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHeartRate":{"role":"symbol","title":"IBHeartRate","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHeartRate"}],"abstract":[{"type":"text","text":"心率设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRate","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHeartRate"}],"url":"\/documentation\/iotbluetooth\/ibheartrate"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFetchFile":{"role":"symbol","title":"IBFetchFile","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFetchFile"}],"abstract":[{"type":"text","text":"获取指定类型文件目录模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFetchFile","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBFetchFile"}],"url":"\/documentation\/iotbluetooth\/ibfetchfile"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IOTBluetoothVersionNumber":{"role":"symbol","title":"IOTBluetoothVersionNumber","fragments":[{"kind":"identifier","text":"IOTBluetoothVersionNumber"}],"abstract":[{"type":"text","text":"Project version number for IOTBluetooth."}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IOTBluetoothVersionNumber","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/iotbluetoothversionnumber"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBurningItem":{"role":"symbol","title":"IBHistoryBurningItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryBurningItem"}],"abstract":[{"type":"text","text":"燃脂历史记录"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBurningItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistoryBurningItem"}],"url":"\/documentation\/iotbluetooth\/ibhistoryburningitem"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/==(_:_:)":{"role":"symbol","title":"==(_:_:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"=="},{"kind":"text","text":" "},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBPeripheralUUID","preciseIdentifier":"s:12IOTBluetooth16IBPeripheralUUIDP"},{"kind":"text","text":"?, "},{"kind":"typeIdentifier","text":"IBPeripheralUUID","preciseIdentifier":"s:12IOTBluetooth16IBPeripheralUUIDP"},{"kind":"text","text":"?) -> "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/==(_:_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/==(_:_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBClock":{"role":"symbol","title":"IBClock","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBClock"}],"abstract":[{"type":"text","text":"闹钟模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClock","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBClock"}],"url":"\/documentation\/iotbluetooth\/ibclock"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBOtaFile":{"role":"symbol","title":"IBOtaFile","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBOtaFile"}],"abstract":[{"type":"text","text":"OTA文件模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtaFile","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBOtaFile"}],"url":"\/documentation\/iotbluetooth\/ibotafile"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendTime":{"role":"symbol","title":"IBSendTime","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSendTime"}],"abstract":[{"type":"text","text":"发送时间模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBSendTime"}],"url":"\/documentation\/iotbluetooth\/ibsendtime"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTargetType":{"role":"symbol","title":"IBTrainTargetType","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTrainTargetType"}],"abstract":[{"type":"text","text":"提醒频率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBTrainTargetType"}],"url":"\/documentation\/iotbluetooth\/ibtraintargettype"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBUserInfo":{"role":"symbol","title":"IBUserInfo","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBUserInfo"}],"abstract":[{"type":"text","text":"用户数据模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBUserInfo"}],"url":"\/documentation\/iotbluetooth\/ibuserinfo"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBCode":{"role":"symbol","title":"IBCode","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBCode"}],"abstract":[{"type":"text","text":"状态码"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBCode"}],"url":"\/documentation\/iotbluetooth\/ibcode"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDuration":{"role":"symbol","title":"IBDuration","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBDuration"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBDuration"}],"url":"\/documentation\/iotbluetooth\/ibduration"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBBloodOxygen":{"role":"symbol","title":"IBBloodOxygen","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBBloodOxygen"}],"abstract":[{"type":"text","text":"血氧设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygen","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBBloodOxygen"}],"url":"\/documentation\/iotbluetooth\/ibbloodoxygen"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDeleteFile":{"role":"symbol","title":"IBDeleteFile","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBDeleteFile"}],"abstract":[{"type":"text","text":"删除文件模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDeleteFile","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBDeleteFile"}],"url":"\/documentation\/iotbluetooth\/ibdeletefile"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPhoneInfo":{"role":"symbol","title":"IBPhoneInfo","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBPhoneInfo"}],"abstract":[{"type":"text","text":"手机信息模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneInfo","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBPhoneInfo"}],"url":"\/documentation\/iotbluetooth\/ibphoneinfo"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbout":{"role":"symbol","title":"IBAbout","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbout"}],"abstract":[{"type":"text","text":"关于本机模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbout","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbout"}],"url":"\/documentation\/iotbluetooth\/ibabout"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFileSender":{"role":"symbol","title":"IBFileSender","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFileSender"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFileSender","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBFileSender"}],"url":"\/documentation\/iotbluetooth\/ibfilesender"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBMotionMode":{"role":"symbol","title":"IBMotionMode","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBMotionMode"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMotionMode","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBMotionMode"}],"url":"\/documentation\/iotbluetooth\/ibmotionmode"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeatherInfo":{"role":"symbol","title":"IBWeatherInfo","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBWeatherInfo"}],"abstract":[{"type":"text","text":"天气信息模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherInfo","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBWeatherInfo"}],"url":"\/documentation\/iotbluetooth\/ibweatherinfo"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBOtherTarget":{"role":"symbol","title":"IBOtherTarget","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBOtherTarget"}],"abstract":[{"type":"text","text":"其他目标设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtherTarget","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBOtherTarget"}],"url":"\/documentation\/iotbluetooth\/ibothertarget"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSleepState":{"role":"symbol","title":"IBSleepState","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSleepState"}],"abstract":[{"type":"text","text":"睡眠状态"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleepState","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBSleepState"}],"url":"\/documentation\/iotbluetooth\/ibsleepstate"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryDistanceItem":{"role":"symbol","title":"IBHistoryDistanceItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryDistanceItem"}],"abstract":[{"type":"text","text":"距离历史记录"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryDistanceItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistoryDistanceItem"}],"url":"\/documentation\/iotbluetooth\/ibhistorydistanceitem"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAiResponse":{"role":"symbol","title":"IBAiResponse","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAiResponse"}],"abstract":[{"type":"text","text":"Ai回应模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAiResponse","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAiResponse"}],"url":"\/documentation\/iotbluetooth\/ibairesponse"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTarinState":{"role":"symbol","title":"IBTarinState","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTarinState"}],"abstract":[{"type":"text","text":"推送训练状态模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTarinState","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBTarinState"}],"url":"\/documentation\/iotbluetooth\/ibtarinstate"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFrequency":{"role":"symbol","title":"IBFrequency","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFrequency"}],"abstract":[{"type":"text","text":"提醒频率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBFrequency"}],"url":"\/documentation\/iotbluetooth\/ibfrequency"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTargetStep":{"role":"symbol","title":"IBTargetStep","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTargetStep"}],"abstract":[{"type":"text","text":"目标步数模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTargetStep","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBTargetStep"}],"url":"\/documentation\/iotbluetooth\/ibtargetstep"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary":{"role":"symbol","title":"IBAuxiliary","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAuxiliary"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAuxiliary"}],"url":"\/documentation\/iotbluetooth\/ibauxiliary"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage":{"role":"symbol","title":"IBLanguage","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBLanguage"}],"abstract":[{"type":"text","text":"语言原始值从 0 开始递增"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBLanguage"}],"url":"\/documentation\/iotbluetooth\/iblanguage"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBNotify":{"role":"symbol","title":"IBNotify","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBNotify"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBNotify"}],"url":"\/documentation\/iotbluetooth\/ibnotify"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBScreenConfig":{"role":"symbol","title":"IBScreenConfig","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBScreenConfig"}],"abstract":[{"type":"text","text":"设置屏幕参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScreenConfig","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBScreenConfig"}],"url":"\/documentation\/iotbluetooth\/ibscreenconfig"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryCalorieItem":{"role":"symbol","title":"IBHistoryCalorieItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryCalorieItem"}],"abstract":[{"type":"text","text":"卡路里历史记录"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryCalorieItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistoryCalorieItem"}],"url":"\/documentation\/iotbluetooth\/ibhistorycalorieitem"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSleepTime":{"role":"symbol","title":"IBSleepTime","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSleepTime"}],"abstract":[{"type":"text","text":"时间"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleepTime","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBSleepTime"}],"url":"\/documentation\/iotbluetooth\/ibsleeptime"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBBloodOxygenFrequency":{"role":"symbol","title":"IBBloodOxygenFrequency","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBBloodOxygenFrequency"}],"abstract":[{"type":"text","text":"血氧监测频率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBBloodOxygenFrequency"}],"url":"\/documentation\/iotbluetooth\/ibbloodoxygenfrequency"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFetchMp3Item":{"role":"symbol","title":"IBFetchMp3Item","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFetchMp3Item"}],"abstract":[{"type":"text","text":"获取指定类型文件MP3模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFetchMp3Item","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBFetchMp3Item"}],"url":"\/documentation\/iotbluetooth\/ibfetchmp3item"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFile":{"role":"symbol","title":"IBFile","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFile"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBFile"}],"url":"\/documentation\/iotbluetooth\/ibfile"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBEpo":{"role":"symbol","title":"IBEpo","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBEpo"}],"abstract":[{"type":"text","text":"IBEpo信息模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBEpo","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBEpo"}],"url":"\/documentation\/iotbluetooth\/ibepo"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistorySleepItem":{"role":"symbol","title":"IBHistorySleepItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistorySleepItem"}],"abstract":[{"type":"text","text":"睡眠历史记录"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistorySleepItem"}],"url":"\/documentation\/iotbluetooth\/ibhistorysleepitem"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSender":{"role":"symbol","title":"IBSender","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSender"}],"abstract":[{"type":"text","text":"蓝牙消息发送类"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSender","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBSender"}],"url":"\/documentation\/iotbluetooth\/ibsender"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDial":{"role":"symbol","title":"IBDial","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBDial"}],"abstract":[{"type":"text","text":"表盘文件汇总信息模型(目前只支持表盘市场)"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDial","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBDial"}],"url":"\/documentation\/iotbluetooth\/ibdial"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWater":{"role":"symbol","title":"IBWater","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBWater"}],"abstract":[{"type":"text","text":"喝水提醒设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWater","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBWater"}],"url":"\/documentation\/iotbluetooth\/ibwater"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendOta":{"role":"symbol","title":"IBSendOta","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSendOta"}],"abstract":[{"type":"text","text":"发送OTA文件模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendOta","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBSendOta"}],"url":"\/documentation\/iotbluetooth\/ibsendota"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBMp3File":{"role":"symbol","title":"IBMp3File","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBMp3File"}],"abstract":[{"type":"text","text":"mp3文件模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMp3File","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBMp3File"}],"url":"\/documentation\/iotbluetooth\/ibmp3file"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeather":{"role":"symbol","title":"IBWeather","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBWeather"}],"abstract":[{"type":"text","text":"天气模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeather","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBWeather"}],"url":"\/documentation\/iotbluetooth\/ibweather"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryHeartRateItem":{"role":"symbol","title":"IBHistoryHeartRateItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryHeartRateItem"}],"abstract":[{"type":"text","text":"心率历史记录"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryHeartRateItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistoryHeartRateItem"}],"url":"\/documentation\/iotbluetooth\/ibhistoryheartrateitem"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Foundation":{"role":"collection","title":"Foundation","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/foundation"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryStepItem":{"role":"symbol","title":"IBHistoryStepItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryStepItem"}],"abstract":[{"type":"text","text":"步数历史记录"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryStepItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistoryStepItem"}],"url":"\/documentation\/iotbluetooth\/ibhistorystepitem"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBManager":{"role":"symbol","title":"IBManager","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBManager"}],"abstract":[{"type":"text","text":"SDK 管理类"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBManager"}],"url":"\/documentation\/iotbluetooth\/ibmanager"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBloodOxygenItem":{"role":"symbol","title":"IBHistoryBloodOxygenItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryBloodOxygenItem"}],"abstract":[{"type":"text","text":"血氧历史记录"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBloodOxygenItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistoryBloodOxygenItem"}],"url":"\/documentation\/iotbluetooth\/ibhistorybloodoxygenitem"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift":{"role":"collection","title":"Swift","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/swift"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHeartRateFrequency":{"role":"symbol","title":"IBHeartRateFrequency","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHeartRateFrequency"}],"abstract":[{"type":"text","text":"提醒频率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHeartRateFrequency"}],"url":"\/documentation\/iotbluetooth\/ibheartratefrequency"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryGpsItem":{"role":"symbol","title":"IBHistoryGpsItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryGpsItem"}],"abstract":[{"type":"text","text":"同步路径坐标历史数据模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryGpsItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistoryGpsItem"}],"url":"\/documentation\/iotbluetooth\/ibhistorygpsitem"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSleep":{"role":"symbol","title":"IBSleep","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSleep"}],"abstract":[{"type":"text","text":"睡眠设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleep","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBSleep"}],"url":"\/documentation\/iotbluetooth\/ibsleep"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPhoneNumber":{"role":"symbol","title":"IBPhoneNumber","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBPhoneNumber"}],"abstract":[{"type":"text","text":"电话号码模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneNumber","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBPhoneNumber"}],"url":"\/documentation\/iotbluetooth\/ibphonenumber"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTarget":{"role":"symbol","title":"IBTrainTarget","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTrainTarget"}],"abstract":[{"type":"text","text":"训练目标设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTarget","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBTrainTarget"}],"url":"\/documentation\/iotbluetooth\/ibtraintarget"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBCompleteHandler":{"role":"symbol","title":"IBCompleteHandler","fragments":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBCompleteHandler"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCompleteHandler","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBCompleteHandler"}],"url":"\/documentation\/iotbluetooth\/ibcompletehandler"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter":{"role":"symbol","title":"IBParameter","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBParameter"}],"abstract":[{"type":"text","text":"参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBParameter"}],"url":"\/documentation\/iotbluetooth\/ibparameter"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainingData":{"role":"symbol","title":"IBTrainingData","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTrainingData"}],"abstract":[{"type":"text","text":"训练数据模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainingData","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBTrainingData"}],"url":"\/documentation\/iotbluetooth\/ibtrainingdata"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBClockInfo":{"role":"symbol","title":"IBClockInfo","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBClockInfo"}],"abstract":[{"type":"text","text":"闹钟信息模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClockInfo","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBClockInfo"}],"url":"\/documentation\/iotbluetooth\/ibclockinfo"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAddress":{"role":"symbol","title":"IBAddress","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAddress"}],"abstract":[{"type":"text","text":"地址模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddress","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAddress"}],"url":"\/documentation\/iotbluetooth\/ibaddress"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDiscoverHandler":{"role":"symbol","title":"IBDiscoverHandler","fragments":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBDiscoverHandler"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDiscoverHandler","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBDiscoverHandler"}],"url":"\/documentation\/iotbluetooth\/ibdiscoverhandler"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBScreen":{"role":"symbol","title":"IBScreen","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBScreen"}],"abstract":[{"type":"text","text":"屏幕参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScreen","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBScreen"}],"url":"\/documentation\/iotbluetooth\/ibscreen"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeatherNow":{"role":"symbol","title":"IBWeatherNow","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBWeatherNow"}],"abstract":[{"type":"text","text":"现在天气信息模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherNow","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBWeatherNow"}],"url":"\/documentation\/iotbluetooth\/ibweathernow"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDialFile":{"role":"symbol","title":"IBDialFile","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBDialFile"}],"abstract":[{"type":"text","text":"单个表盘文件信息模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDialFile","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBDialFile"}],"url":"\/documentation\/iotbluetooth\/ibdialfile"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFetchDialItem":{"role":"symbol","title":"IBFetchDialItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFetchDialItem"}],"abstract":[{"type":"text","text":"获取指定类型文件表盘模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFetchDialItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBFetchDialItem"}],"url":"\/documentation\/iotbluetooth\/ibfetchdialitem"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendMp3":{"role":"symbol","title":"IBSendMp3","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSendMp3"}],"abstract":[{"type":"text","text":"发送mp3文件模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendMp3","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBSendMp3"}],"url":"\/documentation\/iotbluetooth\/ibsendmp3"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBProgressHandler":{"role":"symbol","title":"IBProgressHandler","fragments":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBProgressHandler"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBProgressHandler","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBProgressHandler"}],"url":"\/documentation\/iotbluetooth\/ibprogresshandler"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTimeItem":{"role":"symbol","title":"IBTimeItem","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTimeItem"}],"abstract":[{"type":"text","text":"时间"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTimeItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBTimeItem"}],"url":"\/documentation\/iotbluetooth\/ibtimeitem"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBVibrateConfig":{"role":"symbol","title":"IBVibrateConfig","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBVibrateConfig"}],"abstract":[{"type":"text","text":"声音震动设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateConfig","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBVibrateConfig"}],"url":"\/documentation\/iotbluetooth\/ibvibrateconfig"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPeripheralUUID":{"role":"symbol","title":"IBPeripheralUUID","fragments":[{"kind":"keyword","text":"protocol"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBPeripheralUUID"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheralUUID","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBPeripheralUUID"}],"url":"\/documentation\/iotbluetooth\/ibperipheraluuid"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBCompletionHandler":{"role":"symbol","title":"IBCompletionHandler","fragments":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBCompletionHandler"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCompletionHandler","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBCompletionHandler"}],"url":"\/documentation\/iotbluetooth\/ibcompletionhandler"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBScanOption":{"role":"symbol","title":"IBScanOption","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBScanOption"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScanOption","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBScanOption"}],"url":"\/documentation\/iotbluetooth\/ibscanoption"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBResponseModel":{"role":"symbol","title":"IBResponseModel","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBResponseModel"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponseModel","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBResponseModel"}],"url":"\/documentation\/iotbluetooth\/ibresponsemodel"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBResponse":{"role":"symbol","title":"IBResponse","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBResponse"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBResponse"}],"url":"\/documentation\/iotbluetooth\/ibresponse"}},"variantOverrides":[{"patch":[{"op":"replace","path":"\/identifier\/interfaceLanguage","value":"occ"},{"op":"replace","path":"\/topicSections","value":[{"title":"Variables","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IOTBluetoothVersionNumber","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IOTBluetoothVersionString"]}]},{"op":"add","path":"\/relationshipsSections","value":null},{"op":"add","path":"\/seeAlsoSections","value":null}],"traits":[{"interfaceLanguage":"occ"}]}]}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"=="},{"kind":"text","text":" "},{"kind":"text","text":"("},{"kind":"internalParam","text":"lhs"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheralUUID","preciseIdentifier":"s:12IOTBluetooth16IBPeripheralUUIDP","text":"IBPeripheralUUID"},{"kind":"text","text":"?, "},{"kind":"internalParam","text":"rhs"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheralUUID","preciseIdentifier":"s:12IOTBluetooth16IBPeripheralUUIDP","text":"IBPeripheralUUID"},{"kind":"text","text":"?) -> "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/==(_:_:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/==(_:_:)","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"=="},{"kind":"text","text":" "},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBPeripheralUUID","preciseIdentifier":"s:12IOTBluetooth16IBPeripheralUUIDP"},{"kind":"text","text":"?, "},{"kind":"typeIdentifier","text":"IBPeripheralUUID","preciseIdentifier":"s:12IOTBluetooth16IBPeripheralUUIDP"},{"kind":"text","text":"?) -> "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"title":"==(_:_:)","roleHeading":"Operator","role":"symbol","symbolKind":"op","externalID":"s:12IOTBluetooth2eeoiySbAA16IBPeripheralUUID_pSg_ADtF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/==(_:_:)":{"role":"symbol","title":"==(_:_:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"=="},{"kind":"text","text":" "},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBPeripheralUUID","preciseIdentifier":"s:12IOTBluetooth16IBPeripheralUUIDP"},{"kind":"text","text":"?, "},{"kind":"typeIdentifier","text":"IBPeripheralUUID","preciseIdentifier":"s:12IOTBluetooth16IBPeripheralUUIDP"},{"kind":"text","text":"?) -> "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/==(_:_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/==(_:_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPeripheralUUID":{"role":"symbol","title":"IBPeripheralUUID","fragments":[{"kind":"keyword","text":"protocol"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBPeripheralUUID"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheralUUID","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBPeripheralUUID"}],"url":"\/documentation\/iotbluetooth\/ibperipheraluuid"}}}
\ No newline at end of file
--- /dev/null
+{"variants":[{"paths":["\/documentation\/iotbluetooth\/foundation"],"traits":[{"interfaceLanguage":"swift"}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation","interfaceLanguage":"swift"},"topicSections":[{"title":"Extended Structures","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation\/Data","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation\/UUID"]}],"kind":"symbol","metadata":{"roleHeading":"Extended Module","externalID":"s:m:s:e:s:10Foundation4DataV12IOTBluetoothE5bytesSays5UInt8VGvp","title":"Foundation","symbolKind":"extension","role":"collection","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Foundation/Data":{"role":"symbol","title":"Data","fragments":[{"kind":"keyword","text":"extension"},{"kind":"text","text":" "},{"kind":"identifier","text":"Data","preciseIdentifier":"s:10Foundation4DataV"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation\/Data","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Data"}],"url":"\/documentation\/iotbluetooth\/foundation\/data"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Foundation":{"role":"collection","title":"Foundation","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/foundation"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Foundation/UUID":{"role":"symbol","title":"UUID","fragments":[{"kind":"keyword","text":"extension"},{"kind":"text","text":" "},{"kind":"identifier","text":"UUID","preciseIdentifier":"s:10Foundation4UUIDV"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation\/UUID","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"UUID"}],"url":"\/documentation\/iotbluetooth\/foundation\/uuid"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"extension"},{"kind":"text","text":" "},{"kind":"typeIdentifier","text":"Data","preciseIdentifier":"s:10Foundation4DataV"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/foundation\/data"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation\/Data","interfaceLanguage":"swift"},"topicSections":[{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation\/Data\/bytes","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation\/Data\/int","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation\/Data\/lrc","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation\/Data\/string"]},{"title":"Instance Methods","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation\/Data\/joined(format:_:)","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation\/Data\/reversedJoined(format:_:)"]}],"kind":"symbol","metadata":{"navigatorTitle":[{"kind":"identifier","text":"Data"}],"role":"symbol","title":"Data","roleHeading":"Extended Structure","fragments":[{"kind":"keyword","text":"extension"},{"kind":"text","text":" "},{"kind":"identifier","text":"Data","preciseIdentifier":"s:10Foundation4DataV"}],"symbolKind":"extension","externalID":"s:e:s:10Foundation4DataV12IOTBluetoothE5bytesSays5UInt8VGvp","extendedModule":"Foundation","modules":[{"name":"IOTBluetooth","relatedModules":["Foundation"]}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Foundation/Data/joined(format:_:)":{"role":"symbol","title":"joined(format:_:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"joined"},{"kind":"text","text":"("},{"kind":"externalParam","text":"format"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":", "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation\/Data\/joined(format:_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/foundation\/data\/joined(format:_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Foundation/Data":{"role":"symbol","title":"Data","fragments":[{"kind":"keyword","text":"extension"},{"kind":"text","text":" "},{"kind":"identifier","text":"Data","preciseIdentifier":"s:10Foundation4DataV"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation\/Data","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Data"}],"url":"\/documentation\/iotbluetooth\/foundation\/data"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Foundation/Data/reversedJoined(format:_:)":{"role":"symbol","title":"reversedJoined(format:_:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"reversedJoined"},{"kind":"text","text":"("},{"kind":"externalParam","text":"format"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":", "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation\/Data\/reversedJoined(format:_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/foundation\/data\/reversedjoined(format:_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Foundation/Data/lrc":{"role":"symbol","title":"lrc","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"lrc"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"UInt8","preciseIdentifier":"s:s5UInt8V"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation\/Data\/lrc","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/foundation\/data\/lrc"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Foundation/Data/bytes":{"role":"symbol","title":"bytes","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"bytes"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","text":"UInt8","preciseIdentifier":"s:s5UInt8V"},{"kind":"text","text":"]"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation\/Data\/bytes","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/foundation\/data\/bytes"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Foundation/Data/string":{"role":"symbol","title":"string","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"string"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":"?"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation\/Data\/string","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/foundation\/data\/string"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Foundation/Data/int":{"role":"symbol","title":"int","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"int"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation\/Data\/int","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/foundation\/data\/int"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Foundation":{"role":"collection","title":"Foundation","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/foundation"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"bytes"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","text":"UInt8","preciseIdentifier":"s:s5UInt8V"},{"kind":"text","text":"] { "},{"kind":"keyword","text":"get"},{"kind":"text","text":" }"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/foundation\/data\/bytes"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation\/Data\/bytes","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"role":"symbol","title":"bytes","roleHeading":"Instance Property","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"bytes"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","text":"UInt8","preciseIdentifier":"s:s5UInt8V"},{"kind":"text","text":"]"}],"symbolKind":"property","externalID":"s:10Foundation4DataV12IOTBluetoothE5bytesSays5UInt8VGvp","extendedModule":"Foundation","modules":[{"name":"IOTBluetooth","relatedModules":["Foundation"]}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation\/Data"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Foundation/Data":{"role":"symbol","title":"Data","fragments":[{"kind":"keyword","text":"extension"},{"kind":"text","text":" "},{"kind":"identifier","text":"Data","preciseIdentifier":"s:10Foundation4DataV"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation\/Data","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Data"}],"url":"\/documentation\/iotbluetooth\/foundation\/data"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Foundation":{"role":"collection","title":"Foundation","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/foundation"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Foundation/Data/bytes":{"role":"symbol","title":"bytes","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"bytes"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","text":"UInt8","preciseIdentifier":"s:s5UInt8V"},{"kind":"text","text":"]"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation\/Data\/bytes","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/foundation\/data\/bytes"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"int"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":" { "},{"kind":"keyword","text":"get"},{"kind":"text","text":" }"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/foundation\/data\/int"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation\/Data\/int","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"role":"symbol","title":"int","roleHeading":"Instance Property","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"int"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"symbolKind":"property","externalID":"s:10Foundation4DataV12IOTBluetoothE3intSivp","extendedModule":"Foundation","modules":[{"name":"IOTBluetooth","relatedModules":["Foundation"]}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation\/Data"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Foundation/Data/int":{"role":"symbol","title":"int","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"int"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation\/Data\/int","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/foundation\/data\/int"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Foundation/Data":{"role":"symbol","title":"Data","fragments":[{"kind":"keyword","text":"extension"},{"kind":"text","text":" "},{"kind":"identifier","text":"Data","preciseIdentifier":"s:10Foundation4DataV"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation\/Data","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Data"}],"url":"\/documentation\/iotbluetooth\/foundation\/data"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Foundation":{"role":"collection","title":"Foundation","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/foundation"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"joined"},{"kind":"text","text":"("},{"kind":"externalParam","text":"format"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":" = \"%02x\", "},{"kind":"externalParam","text":"_"},{"kind":"text","text":" "},{"kind":"internalParam","text":"separator"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":" = \"\") -> "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/foundation\/data\/joined(format:_:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation\/Data\/joined(format:_:)","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"role":"symbol","title":"joined(format:_:)","roleHeading":"Instance Method","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"joined"},{"kind":"text","text":"("},{"kind":"externalParam","text":"format"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":", "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"symbolKind":"method","externalID":"s:10Foundation4DataV12IOTBluetoothE6joined6format_S2S_SStF","extendedModule":"Foundation","modules":[{"name":"IOTBluetooth","relatedModules":["Foundation"]}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation\/Data"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Foundation":{"role":"collection","title":"Foundation","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/foundation"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Foundation/Data":{"role":"symbol","title":"Data","fragments":[{"kind":"keyword","text":"extension"},{"kind":"text","text":" "},{"kind":"identifier","text":"Data","preciseIdentifier":"s:10Foundation4DataV"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation\/Data","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Data"}],"url":"\/documentation\/iotbluetooth\/foundation\/data"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Foundation/Data/joined(format:_:)":{"role":"symbol","title":"joined(format:_:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"joined"},{"kind":"text","text":"("},{"kind":"externalParam","text":"format"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":", "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation\/Data\/joined(format:_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/foundation\/data\/joined(format:_:)"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"lrc"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"UInt8","preciseIdentifier":"s:s5UInt8V"},{"kind":"text","text":" { "},{"kind":"keyword","text":"get"},{"kind":"text","text":" }"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/foundation\/data\/lrc"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation\/Data\/lrc","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"role":"symbol","title":"lrc","roleHeading":"Instance Property","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"lrc"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"UInt8","preciseIdentifier":"s:s5UInt8V"}],"symbolKind":"property","externalID":"s:10Foundation4DataV12IOTBluetoothE3lrcs5UInt8Vvp","extendedModule":"Foundation","modules":[{"name":"IOTBluetooth","relatedModules":["Foundation"]}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation\/Data"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Foundation":{"role":"collection","title":"Foundation","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/foundation"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Foundation/Data":{"role":"symbol","title":"Data","fragments":[{"kind":"keyword","text":"extension"},{"kind":"text","text":" "},{"kind":"identifier","text":"Data","preciseIdentifier":"s:10Foundation4DataV"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation\/Data","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Data"}],"url":"\/documentation\/iotbluetooth\/foundation\/data"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Foundation/Data/lrc":{"role":"symbol","title":"lrc","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"lrc"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"UInt8","preciseIdentifier":"s:s5UInt8V"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation\/Data\/lrc","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/foundation\/data\/lrc"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"reversedJoined"},{"kind":"text","text":"("},{"kind":"externalParam","text":"format"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":" = \"%02x\", "},{"kind":"externalParam","text":"_"},{"kind":"text","text":" "},{"kind":"internalParam","text":"separator"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":" = \"\") -> "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/foundation\/data\/reversedjoined(format:_:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation\/Data\/reversedJoined(format:_:)","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"role":"symbol","title":"reversedJoined(format:_:)","roleHeading":"Instance Method","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"reversedJoined"},{"kind":"text","text":"("},{"kind":"externalParam","text":"format"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":", "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"symbolKind":"method","externalID":"s:10Foundation4DataV12IOTBluetoothE14reversedJoined6format_S2S_SStF","extendedModule":"Foundation","modules":[{"name":"IOTBluetooth","relatedModules":["Foundation"]}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation\/Data"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Foundation/Data/reversedJoined(format:_:)":{"role":"symbol","title":"reversedJoined(format:_:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"reversedJoined"},{"kind":"text","text":"("},{"kind":"externalParam","text":"format"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":", "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation\/Data\/reversedJoined(format:_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/foundation\/data\/reversedjoined(format:_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Foundation":{"role":"collection","title":"Foundation","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/foundation"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Foundation/Data":{"role":"symbol","title":"Data","fragments":[{"kind":"keyword","text":"extension"},{"kind":"text","text":" "},{"kind":"identifier","text":"Data","preciseIdentifier":"s:10Foundation4DataV"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation\/Data","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Data"}],"url":"\/documentation\/iotbluetooth\/foundation\/data"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"string"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":"? { "},{"kind":"keyword","text":"get"},{"kind":"text","text":" }"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/foundation\/data\/string"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation\/Data\/string","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"role":"symbol","title":"string","roleHeading":"Instance Property","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"string"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":"?"}],"symbolKind":"property","externalID":"s:10Foundation4DataV12IOTBluetoothE6stringSSSgvp","extendedModule":"Foundation","modules":[{"name":"IOTBluetooth","relatedModules":["Foundation"]}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation\/Data"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Foundation/Data":{"role":"symbol","title":"Data","fragments":[{"kind":"keyword","text":"extension"},{"kind":"text","text":" "},{"kind":"identifier","text":"Data","preciseIdentifier":"s:10Foundation4DataV"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation\/Data","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Data"}],"url":"\/documentation\/iotbluetooth\/foundation\/data"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Foundation":{"role":"collection","title":"Foundation","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/foundation"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Foundation/Data/string":{"role":"symbol","title":"string","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"string"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":"?"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation\/Data\/string","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/foundation\/data\/string"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"extension"},{"kind":"text","text":" "},{"kind":"typeIdentifier","text":"UUID","preciseIdentifier":"s:10Foundation4UUIDV"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/foundation\/uuid"],"traits":[{"interfaceLanguage":"swift"}]}],"relationshipsSections":[{"identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheralUUID"],"kind":"relationships","title":"Conforms To","type":"conformsTo"}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation\/UUID","interfaceLanguage":"swift"},"topicSections":[{"title":"Default Implementations","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation\/UUID\/IBPeripheralUUID-Implementations"],"generated":true}],"kind":"symbol","metadata":{"navigatorTitle":[{"kind":"identifier","text":"UUID"}],"role":"symbol","title":"UUID","roleHeading":"Extended Structure","fragments":[{"kind":"keyword","text":"extension"},{"kind":"text","text":" "},{"kind":"identifier","text":"UUID","preciseIdentifier":"s:10Foundation4UUIDV"}],"symbolKind":"extension","externalID":"s:e:s:10Foundation4UUIDV12IOTBluetoothE4uuidACvp","extendedModule":"Foundation","modules":[{"name":"IOTBluetooth","relatedModules":["Foundation"]}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Foundation/UUID":{"role":"symbol","title":"UUID","fragments":[{"kind":"keyword","text":"extension"},{"kind":"text","text":" "},{"kind":"identifier","text":"UUID","preciseIdentifier":"s:10Foundation4UUIDV"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation\/UUID","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"UUID"}],"url":"\/documentation\/iotbluetooth\/foundation\/uuid"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Foundation/UUID/IBPeripheralUUID-Implementations":{"role":"collectionGroup","title":"IBPeripheralUUID Implementations","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation\/UUID\/IBPeripheralUUID-Implementations","kind":"article","type":"topic","url":"\/documentation\/iotbluetooth\/foundation\/uuid\/ibperipheraluuid-implementations"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPeripheralUUID":{"role":"symbol","title":"IBPeripheralUUID","fragments":[{"kind":"keyword","text":"protocol"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBPeripheralUUID"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheralUUID","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBPeripheralUUID"}],"url":"\/documentation\/iotbluetooth\/ibperipheraluuid"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Foundation":{"role":"collection","title":"Foundation","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/foundation"}}}
\ No newline at end of file
--- /dev/null
+{"variants":[{"paths":["\/documentation\/iotbluetooth\/foundation\/uuid\/ibperipheraluuid-implementations"],"traits":[{"interfaceLanguage":"swift"}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation\/UUID\/IBPeripheralUUID-Implementations","interfaceLanguage":"swift"},"topicSections":[{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation\/UUID\/uuid"],"generated":true}],"kind":"article","metadata":{"modules":[{"name":"IOTBluetooth"}],"role":"collectionGroup","title":"IBPeripheralUUID Implementations"},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation\/UUID"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Foundation/UUID/uuid":{"role":"symbol","title":"uuid","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"uuid"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"UUID","preciseIdentifier":"s:10Foundation4UUIDV"}],"abstract":[{"type":"text","text":"CBPeripheral.identifier"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation\/UUID\/uuid","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/foundation\/uuid\/uuid"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Foundation/UUID":{"role":"symbol","title":"UUID","fragments":[{"kind":"keyword","text":"extension"},{"kind":"text","text":" "},{"kind":"identifier","text":"UUID","preciseIdentifier":"s:10Foundation4UUIDV"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation\/UUID","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"UUID"}],"url":"\/documentation\/iotbluetooth\/foundation\/uuid"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Foundation":{"role":"collection","title":"Foundation","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/foundation"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"uuid"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"UUID","preciseIdentifier":"s:10Foundation4UUIDV"},{"kind":"text","text":" { "},{"kind":"keyword","text":"get"},{"kind":"text","text":" }"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/foundation\/uuid\/uuid"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation\/UUID\/uuid","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"CBPeripheral.identifier"}],"kind":"symbol","metadata":{"role":"symbol","title":"uuid","roleHeading":"Instance Property","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"uuid"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"UUID","preciseIdentifier":"s:10Foundation4UUIDV"}],"symbolKind":"property","externalID":"s:10Foundation4UUIDV12IOTBluetoothE4uuidACvp","extendedModule":"Foundation","modules":[{"name":"IOTBluetooth","relatedModules":["Foundation"]}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation\/UUID","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation\/UUID\/IBPeripheralUUID-Implementations"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Foundation/UUID/uuid":{"role":"symbol","title":"uuid","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"uuid"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"UUID","preciseIdentifier":"s:10Foundation4UUIDV"}],"abstract":[{"type":"text","text":"CBPeripheral.identifier"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation\/UUID\/uuid","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/foundation\/uuid\/uuid"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Foundation":{"role":"collection","title":"Foundation","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/foundation"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Foundation/UUID":{"role":"symbol","title":"UUID","fragments":[{"kind":"keyword","text":"extension"},{"kind":"text","text":" "},{"kind":"identifier","text":"UUID","preciseIdentifier":"s:10Foundation4UUIDV"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation\/UUID","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"UUID"}],"url":"\/documentation\/iotbluetooth\/foundation\/uuid"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Foundation/UUID/IBPeripheralUUID-Implementations":{"role":"collectionGroup","title":"IBPeripheralUUID Implementations","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation\/UUID\/IBPeripheralUUID-Implementations","kind":"article","type":"topic","url":"\/documentation\/iotbluetooth\/foundation\/uuid\/ibperipheraluuid-implementations"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"功能指令"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"title":"IBAbility","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:12IOTBluetooth9IBAbilityC","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBAbility"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"topicSections":[{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/description"]},{"title":"Type Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/about","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/addressBook","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/auxiliary","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/bloodOxygen","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/checkDialID","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/currentHeartRate","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/deleteDial","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/deleteFile","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/deleteFiles","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/dial","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/disk","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/endSport","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/fetchAuxiliary","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/fetchBattery","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/fetchBloodOxygen","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/fetchClock","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/fetchCurrentDialId","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/fetchDials","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/fetchFiles","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/fetchHeartRate","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/fetchOtherTarget","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/fetchScreen","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/fetchSleep","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/fetchTargetStep","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/fetchVibrateSound","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/fetchWatchState","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/fetchWater","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/find","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/heartRate","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/heartRateHigh","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/heartRateMode","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/language","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/message","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/mp3","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/ota","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/reboot","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/restore","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/revokeFileSend","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/screen","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/sendPhone","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/sendSyncEnd","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/sendTime","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/sendUnpair","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/sendWeather","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/setClock","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/shutdown","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/sleep","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/startSport","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/switchDial","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/syncBloodOxygen","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/syncCalorie","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/syncDistance","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/syncFatBurning","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/syncGPS","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/syncHeartRate","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/syncSleep","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/syncStand","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/syncStepCount","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/syncTrain","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/takePhoto","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/targetOther","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/targetStep","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/trainFrequency","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/trainPauseResume","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/trainTarget","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/unit","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/unpair","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/userData","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/vibrateSound","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/water"]}],"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/fetchWatchState":{"role":"symbol","title":"fetchWatchState","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"fetchWatchState"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"获取当前手表状态"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/fetchWatchState","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/fetchwatchstate"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/mp3":{"role":"symbol","title":"mp3","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"mp3"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"发送MP3文件信息"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/mp3","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/mp3"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/auxiliary":{"role":"symbol","title":"auxiliary","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"auxiliary"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"设置手表辅助功能参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/auxiliary","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/auxiliary"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/unpair":{"role":"symbol","title":"unpair","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"unpair"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"发送解除配对消息"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/unpair","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/unpair"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/screen":{"role":"symbol","title":"screen","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"screen"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"设置手表屏幕参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/screen","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/screen"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/fetchOtherTarget":{"role":"symbol","title":"fetchOtherTarget","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"fetchOtherTarget"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"获取其他目标设置"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/fetchOtherTarget","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/fetchothertarget"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/disk":{"role":"symbol","title":"disk","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"disk"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"获取SD卡剩余空间"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/disk","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/disk"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/targetOther":{"role":"symbol","title":"targetOther","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"targetOther"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"设置其他目标"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/targetOther","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/targetother"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/about":{"role":"symbol","title":"about","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"about"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"关于本机内容"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/about","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/about"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/ota":{"role":"symbol","title":"ota","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"ota"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"发送OTA文件信息"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/ota","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/ota"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/heartRate":{"role":"symbol","title":"heartRate","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"heartRate"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"设置手表心率参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/heartRate","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/heartrate"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/dial":{"role":"symbol","title":"dial","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"dial"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"发送表盘文件汇总信息"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/dial","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/dial"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/sendSyncEnd":{"role":"symbol","title":"sendSyncEnd","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"sendSyncEnd"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"发送同步数据结束消息"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/sendSyncEnd","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/sendsyncend"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/fetchTargetStep":{"role":"symbol","title":"fetchTargetStep","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"fetchTargetStep"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"获取目标步数设置"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/fetchTargetStep","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/fetchtargetstep"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/syncHeartRate":{"role":"symbol","title":"syncHeartRate","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"syncHeartRate"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"同步心率历史数据"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/syncHeartRate","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/syncheartrate"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/takePhoto":{"role":"symbol","title":"takePhoto","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"takePhoto"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"手势拍照"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/takePhoto","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/takephoto"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/vibrateSound":{"role":"symbol","title":"vibrateSound","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"vibrateSound"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"APP设置手表声音与震动参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/vibrateSound","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/vibratesound"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/deleteFile":{"role":"symbol","title":"deleteFile","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"deleteFile"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"删除指定文件"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/deleteFile","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/deletefile"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/sendUnpair":{"role":"symbol","title":"sendUnpair","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"sendUnpair"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"发送取消解除配对消息"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/sendUnpair","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/sendunpair"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/description":{"role":"symbol","title":"description","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"description"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/description","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/description"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/bloodOxygen":{"role":"symbol","title":"bloodOxygen","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"bloodOxygen"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"设置手表血氧参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/bloodOxygen","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/bloodoxygen"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/water":{"role":"symbol","title":"water","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"water"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"设置喝水提醒"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/water","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/water"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/addressBook":{"role":"symbol","title":"addressBook","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"addressBook"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"发送通讯录"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/addressBook","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/addressbook"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/syncStand":{"role":"symbol","title":"syncStand","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"syncStand"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"同步站立历史数据"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/syncStand","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/syncstand"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/sendTime":{"role":"symbol","title":"sendTime","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"sendTime"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"发送当前时间"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/sendTime","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/sendtime"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/heartRateHigh":{"role":"symbol","title":"heartRateHigh","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"heartRateHigh"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"设置最高心率提醒"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/heartRateHigh","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/heartratehigh"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/deleteDial":{"role":"symbol","title":"deleteDial","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"deleteDial"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"APP删除表盘"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/deleteDial","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/deletedial"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/fetchClock":{"role":"symbol","title":"fetchClock","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"fetchClock"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"获取闹钟设置"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/fetchClock","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/fetchclock"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/fetchVibrateSound":{"role":"symbol","title":"fetchVibrateSound","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"fetchVibrateSound"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"获取手表声音与震动参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/fetchVibrateSound","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/fetchvibratesound"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/syncCalorie":{"role":"symbol","title":"syncCalorie","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"syncCalorie"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"同步卡路里历史数据"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/syncCalorie","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/synccalorie"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/checkDialID":{"role":"symbol","title":"checkDialID","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"checkDialID"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"APP获取某表盘ID是否已安装"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/checkDialID","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/checkdialid"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/trainFrequency":{"role":"symbol","title":"trainFrequency","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"trainFrequency"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"设置训练实时数据采样频率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/trainFrequency","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/trainfrequency"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/trainPauseResume":{"role":"symbol","title":"trainPauseResume","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"trainPauseResume"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"训练暂停\/恢复"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/trainPauseResume","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/trainpauseresume"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/fetchCurrentDialId":{"role":"symbol","title":"fetchCurrentDialId","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"fetchCurrentDialId"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"发送当前表盘ID"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/fetchCurrentDialId","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/fetchcurrentdialid"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/trainTarget":{"role":"symbol","title":"trainTarget","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"trainTarget"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"设置训练目标"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/trainTarget","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/traintarget"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/syncSleep":{"role":"symbol","title":"syncSleep","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"syncSleep"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"同步睡眠历史数据"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/syncSleep","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/syncsleep"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/unit":{"role":"symbol","title":"unit","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"unit"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"设置手表公英制单位"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/unit","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/unit"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/fetchFiles":{"role":"symbol","title":"fetchFiles","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"fetchFiles"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"获取指定类型所有文件(当前只支持 MP3 和 表盘)"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/fetchFiles","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/fetchfiles"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/endSport":{"role":"symbol","title":"endSport","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"endSport"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"结束运动模式"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/endSport","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/endsport"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/fetchAuxiliary":{"role":"symbol","title":"fetchAuxiliary","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"fetchAuxiliary"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"获取手表辅助功能参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/fetchAuxiliary","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/fetchauxiliary"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/startSport":{"role":"symbol","title":"startSport","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"startSport"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"开启指定运动模式"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/startSport","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/startsport"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/sendWeather":{"role":"symbol","title":"sendWeather","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"sendWeather"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"发送天气数据"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/sendWeather","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/sendweather"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/syncFatBurning":{"role":"symbol","title":"syncFatBurning","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"syncFatBurning"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"同步燃脂时间历史数据"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/syncFatBurning","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/syncfatburning"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/fetchBattery":{"role":"symbol","title":"fetchBattery","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"fetchBattery"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"获取手表电池电量。"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/fetchBattery","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/fetchbattery"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/revokeFileSend":{"role":"symbol","title":"revokeFileSend","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"revokeFileSend"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"撤销当前文件传输"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/revokeFileSend","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/revokefilesend"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/sendPhone":{"role":"symbol","title":"sendPhone","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"sendPhone"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"发送手机信息"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/sendPhone","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/sendphone"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/fetchSleep":{"role":"symbol","title":"fetchSleep","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"fetchSleep"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"获取睡眠设置"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/fetchSleep","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/fetchsleep"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/syncBloodOxygen":{"role":"symbol","title":"syncBloodOxygen","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"syncBloodOxygen"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"同步血氧历史数据"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/syncBloodOxygen","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/syncbloodoxygen"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/language":{"role":"symbol","title":"language","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"language"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"设置语言"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/language","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/language"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/fetchDials":{"role":"symbol","title":"fetchDials","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"fetchDials"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"获取所有表盘UID"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/fetchDials","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/fetchdials"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/message":{"role":"symbol","title":"message","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"message"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"开关消息推送功能"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/message","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/message"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/userData":{"role":"symbol","title":"userData","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"userData"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"设置用户数据"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/userData","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/userdata"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/shutdown":{"role":"symbol","title":"shutdown","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"shutdown"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"关机"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/shutdown","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/shutdown"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/fetchWater":{"role":"symbol","title":"fetchWater","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"fetchWater"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"获取手表喝水提醒设置"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/fetchWater","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/fetchwater"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/deleteFiles":{"role":"symbol","title":"deleteFiles","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"deleteFiles"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"删除指定类型所有文件(当前只支持 MP3 和 表盘)"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/deleteFiles","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/deletefiles"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/sleep":{"role":"symbol","title":"sleep","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"sleep"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"设置睡眠"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/sleep","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/sleep"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/targetStep":{"role":"symbol","title":"targetStep","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"targetStep"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"设置目标步数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/targetStep","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/targetstep"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/currentHeartRate":{"role":"symbol","title":"currentHeartRate","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"currentHeartRate"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"获取实时心率(实时训练数据)"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/currentHeartRate","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/currentheartrate"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/find":{"role":"symbol","title":"find","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"find"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"查找手表"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/find","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/find"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/reboot":{"role":"symbol","title":"reboot","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"reboot"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"重新启动"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/reboot","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/reboot"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/fetchBloodOxygen":{"role":"symbol","title":"fetchBloodOxygen","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"fetchBloodOxygen"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"获取手表血氧设置"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/fetchBloodOxygen","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/fetchbloodoxygen"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/syncTrain":{"role":"symbol","title":"syncTrain","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"syncTrain"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"同步基础训练历史数据"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/syncTrain","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/synctrain"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/restore":{"role":"symbol","title":"restore","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"restore"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"恢复出厂设置"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/restore","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/restore"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/fetchScreen":{"role":"symbol","title":"fetchScreen","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"fetchScreen"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"获取手表屏幕参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/fetchScreen","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/fetchscreen"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/syncGPS":{"role":"symbol","title":"syncGPS","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"syncGPS"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"同步路径坐标集历史数据"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/syncGPS","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/syncgps"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/switchDial":{"role":"symbol","title":"switchDial","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"switchDial"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"切换表盘"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/switchDial","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/switchdial"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/syncStepCount":{"role":"symbol","title":"syncStepCount","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"syncStepCount"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"同步历史步数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/syncStepCount","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/syncstepcount"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/syncDistance":{"role":"symbol","title":"syncDistance","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"syncDistance"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"同步距离历史数据"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/syncDistance","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/syncdistance"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/fetchHeartRate":{"role":"symbol","title":"fetchHeartRate","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"fetchHeartRate"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"获取手表心率参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/fetchHeartRate","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/fetchheartrate"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/heartRateMode":{"role":"symbol","title":"heartRateMode","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"heartRateMode"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"开启\/关闭自动获取实时心率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/heartRateMode","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/heartratemode"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/setClock":{"role":"symbol","title":"setClock","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"setClock"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"发送闹钟设置"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/setClock","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/setclock"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"about"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/about"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/about","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"关于本机内容"}],"kind":"symbol","metadata":{"role":"symbol","title":"about","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"about"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC5aboutACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/about":{"role":"symbol","title":"about","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"about"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"关于本机内容"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/about","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/about"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"addressBook"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"parameters","parameters":[{"name":"addressBook","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"see "},{"type":"reference","isActive":true,"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddressBook"},{"type":"text","text":" "},{"type":"text","text":"联系人个数0~20"}]}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/addressbook"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/addressBook","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"发送通讯录"}],"kind":"symbol","metadata":{"role":"symbol","title":"addressBook","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"addressBook"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC11addressBookACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAddressBook":{"role":"symbol","title":"IBAddressBook","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAddressBook"}],"abstract":[{"type":"text","text":"通讯录模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddressBook","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAddressBook"}],"url":"\/documentation\/iotbluetooth\/ibaddressbook"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/addressBook":{"role":"symbol","title":"addressBook","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"addressBook"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"发送通讯录"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/addressBook","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/addressbook"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"auxiliary"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"parameters","parameters":[{"name":"auxiliary","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"see "},{"type":"reference","isActive":true,"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary"}]}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/auxiliary"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/auxiliary","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"设置手表辅助功能参数"}],"kind":"symbol","metadata":{"role":"symbol","title":"auxiliary","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"auxiliary"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC9auxiliaryACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary":{"role":"symbol","title":"IBAuxiliary","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAuxiliary"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAuxiliary"}],"url":"\/documentation\/iotbluetooth\/ibauxiliary"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/auxiliary":{"role":"symbol","title":"auxiliary","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"auxiliary"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"设置手表辅助功能参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/auxiliary","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/auxiliary"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"bloodOxygen"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"parameters","parameters":[{"name":"heartRate","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"see "},{"type":"reference","isActive":true,"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygen"}]}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/bloodoxygen"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/bloodOxygen","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"设置手表血氧参数"}],"kind":"symbol","metadata":{"role":"symbol","title":"bloodOxygen","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"bloodOxygen"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC11bloodOxygenACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/bloodOxygen":{"role":"symbol","title":"bloodOxygen","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"bloodOxygen"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"设置手表血氧参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/bloodOxygen","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/bloodoxygen"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBBloodOxygen":{"role":"symbol","title":"IBBloodOxygen","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBBloodOxygen"}],"abstract":[{"type":"text","text":"血氧设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygen","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBBloodOxygen"}],"url":"\/documentation\/iotbluetooth\/ibbloodoxygen"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"checkDialID"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"parameters","parameters":[{"name":"value","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"Int"}]}]}]},{"kind":"content","content":[{"anchor":"return-value","level":2,"type":"heading","text":"Return Value"},{"type":"paragraph","inlineContent":[{"type":"text","text":"Int"},{"type":"text","text":" "},{"type":"text","text":"1 = 已安装 "},{"type":"text","text":"\n"},{"type":"text","text":"2 = 未安装 "},{"type":"text","text":"\n"},{"type":"text","text":"Read from "},{"type":"reference","isActive":true,"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse"},{"type":"text","text":".value"}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/checkdialid"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/checkDialID","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"APP获取某表盘ID是否已安装"}],"kind":"symbol","metadata":{"role":"symbol","title":"checkDialID","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"checkDialID"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC11checkDialIDACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBResponse":{"role":"symbol","title":"IBResponse","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBResponse"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBResponse"}],"url":"\/documentation\/iotbluetooth\/ibresponse"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/checkDialID":{"role":"symbol","title":"checkDialID","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"checkDialID"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"APP获取某表盘ID是否已安装"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/checkDialID","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/checkdialid"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"currentHeartRate"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"content","content":[{"anchor":"return-value","level":2,"type":"heading","text":"Return Value"},{"type":"paragraph","inlineContent":[{"type":"text","text":""},{"type":"reference","isActive":true,"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainingData"},{"type":"text","text":" "},{"type":"text","text":"\n"},{"type":"text","text":"Read from "},{"type":"reference","isActive":true,"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse"},{"type":"text","text":".value"}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/currentheartrate"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/currentHeartRate","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"获取实时心率(实时训练数据)"}],"kind":"symbol","metadata":{"role":"symbol","title":"currentHeartRate","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"currentHeartRate"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC16currentHeartRateACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBResponse":{"role":"symbol","title":"IBResponse","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBResponse"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBResponse"}],"url":"\/documentation\/iotbluetooth\/ibresponse"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainingData":{"role":"symbol","title":"IBTrainingData","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTrainingData"}],"abstract":[{"type":"text","text":"训练数据模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainingData","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBTrainingData"}],"url":"\/documentation\/iotbluetooth\/ibtrainingdata"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/currentHeartRate":{"role":"symbol","title":"currentHeartRate","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"currentHeartRate"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"获取实时心率(实时训练数据)"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/currentHeartRate","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/currentheartrate"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"deleteDial"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"parameters","parameters":[{"name":"dialID","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"Int "},{"type":"text","text":"\n"},{"type":"text","text":"表盘id"}]}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/deletedial"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/deleteDial","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"APP删除表盘"}],"kind":"symbol","metadata":{"role":"symbol","title":"deleteDial","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"deleteDial"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC10deleteDialACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/deleteDial":{"role":"symbol","title":"deleteDial","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"deleteDial"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"APP删除表盘"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/deleteDial","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/deletedial"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"deleteFile"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"parameters","parameters":[{"name":"deleteFile","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"see "},{"type":"reference","isActive":true,"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDeleteFile"}]}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/deletefile"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/deleteFile","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"删除指定文件"}],"kind":"symbol","metadata":{"role":"symbol","title":"deleteFile","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"deleteFile"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC10deleteFileACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDeleteFile":{"role":"symbol","title":"IBDeleteFile","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBDeleteFile"}],"abstract":[{"type":"text","text":"删除文件模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDeleteFile","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBDeleteFile"}],"url":"\/documentation\/iotbluetooth\/ibdeletefile"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/deleteFile":{"role":"symbol","title":"deleteFile","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"deleteFile"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"删除指定文件"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/deleteFile","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/deletefile"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"deleteFiles"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"parameters","parameters":[{"name":"file","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"see "},{"type":"reference","isActive":true,"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile"}]}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/deletefiles"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/deleteFiles","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"删除指定类型所有文件(当前只支持 MP3 和 表盘)"}],"kind":"symbol","metadata":{"role":"symbol","title":"deleteFiles","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"deleteFiles"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC11deleteFilesACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFile":{"role":"symbol","title":"IBFile","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFile"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBFile"}],"url":"\/documentation\/iotbluetooth\/ibfile"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/deleteFiles":{"role":"symbol","title":"deleteFiles","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"deleteFiles"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"删除指定类型所有文件(当前只支持 MP3 和 表盘)"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/deleteFiles","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/deletefiles"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"description"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":" { "},{"kind":"keyword","text":"get"},{"kind":"text","text":" }"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/description"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/description","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"description"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"title":"description","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC11descriptionSSvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/description":{"role":"symbol","title":"description","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"description"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/description","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/description"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"dial"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"parameters","parameters":[{"name":"dial","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"see "},{"type":"reference","isActive":true,"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDial"}]}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/dial"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/dial","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"发送表盘文件汇总信息"}],"kind":"symbol","metadata":{"role":"symbol","title":"dial","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"dial"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC4dialACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDial":{"role":"symbol","title":"IBDial","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBDial"}],"abstract":[{"type":"text","text":"表盘文件汇总信息模型(目前只支持表盘市场)"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDial","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBDial"}],"url":"\/documentation\/iotbluetooth\/ibdial"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/dial":{"role":"symbol","title":"dial","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"dial"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"发送表盘文件汇总信息"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/dial","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/dial"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"disk"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"content","content":[{"anchor":"return-value","level":2,"type":"heading","text":"Return Value"},{"type":"paragraph","inlineContent":[{"type":"text","text":"Int "},{"type":"text","text":"\n"},{"type":"text","text":"Read from "},{"type":"reference","isActive":true,"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse"},{"type":"text","text":".value"}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/disk"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/disk","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"获取SD卡剩余空间"}],"kind":"symbol","metadata":{"role":"symbol","title":"disk","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"disk"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC4diskACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBResponse":{"role":"symbol","title":"IBResponse","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBResponse"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBResponse"}],"url":"\/documentation\/iotbluetooth\/ibresponse"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/disk":{"role":"symbol","title":"disk","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"disk"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"获取SD卡剩余空间"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/disk","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/disk"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"endSport"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/endsport"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/endSport","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"结束运动模式"}],"kind":"symbol","metadata":{"role":"symbol","title":"endSport","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"endSport"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC8endSportACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/endSport":{"role":"symbol","title":"endSport","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"endSport"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"结束运动模式"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/endSport","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/endsport"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"fetchAuxiliary"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"content","content":[{"anchor":"return-value","level":2,"type":"heading","text":"Return Value"},{"type":"paragraph","inlineContent":[{"type":"text","text":"IBAuxiliary "},{"type":"text","text":"\n"},{"type":"text","text":"Read from "},{"type":"reference","isActive":true,"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse"},{"type":"text","text":".value"}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/fetchauxiliary"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/fetchAuxiliary","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"获取手表辅助功能参数"}],"kind":"symbol","metadata":{"role":"symbol","title":"fetchAuxiliary","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"fetchAuxiliary"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC14fetchAuxiliaryACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/fetchAuxiliary":{"role":"symbol","title":"fetchAuxiliary","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"fetchAuxiliary"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"获取手表辅助功能参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/fetchAuxiliary","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/fetchauxiliary"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBResponse":{"role":"symbol","title":"IBResponse","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBResponse"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBResponse"}],"url":"\/documentation\/iotbluetooth\/ibresponse"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"fetchBattery"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"content","content":[{"anchor":"return-value","level":2,"type":"heading","text":"Return Value"},{"type":"paragraph","inlineContent":[{"type":"text","text":"Int "},{"type":"text","text":"\n"},{"type":"text","text":"Read from "},{"type":"reference","isActive":true,"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse"},{"type":"text","text":".value"}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/fetchbattery"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/fetchBattery","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"获取手表电池电量。"}],"kind":"symbol","metadata":{"role":"symbol","title":"fetchBattery","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"fetchBattery"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC12fetchBatteryACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/fetchBattery":{"role":"symbol","title":"fetchBattery","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"fetchBattery"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"获取手表电池电量。"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/fetchBattery","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/fetchbattery"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBResponse":{"role":"symbol","title":"IBResponse","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBResponse"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBResponse"}],"url":"\/documentation\/iotbluetooth\/ibresponse"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"fetchBloodOxygen"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"content","content":[{"anchor":"return-value","level":2,"type":"heading","text":"Return Value"},{"type":"paragraph","inlineContent":[{"type":"text","text":""},{"type":"reference","isActive":true,"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygen"},{"type":"text","text":" "},{"type":"text","text":"\n"},{"type":"text","text":"Read from "},{"type":"reference","isActive":true,"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse"},{"type":"text","text":".value"}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/fetchbloodoxygen"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/fetchBloodOxygen","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"获取手表血氧设置"}],"kind":"symbol","metadata":{"role":"symbol","title":"fetchBloodOxygen","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"fetchBloodOxygen"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC16fetchBloodOxygenACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBBloodOxygen":{"role":"symbol","title":"IBBloodOxygen","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBBloodOxygen"}],"abstract":[{"type":"text","text":"血氧设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygen","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBBloodOxygen"}],"url":"\/documentation\/iotbluetooth\/ibbloodoxygen"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBResponse":{"role":"symbol","title":"IBResponse","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBResponse"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBResponse"}],"url":"\/documentation\/iotbluetooth\/ibresponse"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/fetchBloodOxygen":{"role":"symbol","title":"fetchBloodOxygen","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"fetchBloodOxygen"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"获取手表血氧设置"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/fetchBloodOxygen","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/fetchbloodoxygen"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"fetchClock"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"content","content":[{"anchor":"return-value","level":2,"type":"heading","text":"Return Value"},{"type":"paragraph","inlineContent":[{"type":"text","text":""},{"type":"codeVoice","code":"[IBClockInfo]"},{"type":"text","text":" "},{"type":"text","text":"\n"},{"type":"text","text":"Read from "},{"type":"reference","isActive":true,"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse"},{"type":"text","text":".items"}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/fetchclock"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/fetchClock","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"获取闹钟设置"}],"kind":"symbol","metadata":{"role":"symbol","title":"fetchClock","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"fetchClock"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC10fetchClockACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBResponse":{"role":"symbol","title":"IBResponse","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBResponse"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBResponse"}],"url":"\/documentation\/iotbluetooth\/ibresponse"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/fetchClock":{"role":"symbol","title":"fetchClock","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"fetchClock"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"获取闹钟设置"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/fetchClock","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/fetchclock"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"fetchCurrentDialId"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"content","content":[{"anchor":"return-value","level":2,"type":"heading","text":"Return Value"},{"type":"paragraph","inlineContent":[{"type":"text","text":"Int "},{"type":"text","text":"\n"},{"type":"text","text":"Read from "},{"type":"reference","isActive":true,"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse"},{"type":"text","text":".value"}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/fetchcurrentdialid"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/fetchCurrentDialId","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"发送当前表盘ID"}],"kind":"symbol","metadata":{"role":"symbol","title":"fetchCurrentDialId","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"fetchCurrentDialId"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC18fetchCurrentDialIdACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBResponse":{"role":"symbol","title":"IBResponse","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBResponse"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBResponse"}],"url":"\/documentation\/iotbluetooth\/ibresponse"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/fetchCurrentDialId":{"role":"symbol","title":"fetchCurrentDialId","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"fetchCurrentDialId"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"发送当前表盘ID"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/fetchCurrentDialId","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/fetchcurrentdialid"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"fetchDials"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"content","content":[{"anchor":"return-value","level":2,"type":"heading","text":"Return Value"},{"type":"paragraph","inlineContent":[{"type":"text","text":"[Int] "},{"type":"text","text":"\n"},{"type":"text","text":"Read from "},{"type":"reference","isActive":true,"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse"},{"type":"text","text":".items"}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/fetchdials"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/fetchDials","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"获取所有表盘UID"}],"kind":"symbol","metadata":{"role":"symbol","title":"fetchDials","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"fetchDials"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC10fetchDialsACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/fetchDials":{"role":"symbol","title":"fetchDials","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"fetchDials"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"获取所有表盘UID"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/fetchDials","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/fetchdials"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBResponse":{"role":"symbol","title":"IBResponse","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBResponse"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBResponse"}],"url":"\/documentation\/iotbluetooth\/ibresponse"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"fetchFiles"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"parameters","parameters":[{"name":"file","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"see "},{"type":"reference","isActive":true,"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile"}]}]}]},{"kind":"content","content":[{"anchor":"return-value","level":2,"type":"heading","text":"Return Value"},{"type":"paragraph","inlineContent":[{"type":"text","text":"IBFetchFile "},{"type":"text","text":"\n"},{"type":"text","text":"Read from "},{"type":"reference","isActive":true,"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse"},{"type":"text","text":".value"}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/fetchfiles"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/fetchFiles","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"获取指定类型所有文件(当前只支持 MP3 和 表盘)"}],"kind":"symbol","metadata":{"role":"symbol","title":"fetchFiles","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"fetchFiles"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC10fetchFilesACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/fetchFiles":{"role":"symbol","title":"fetchFiles","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"fetchFiles"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"获取指定类型所有文件(当前只支持 MP3 和 表盘)"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/fetchFiles","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/fetchfiles"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFile":{"role":"symbol","title":"IBFile","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFile"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBFile"}],"url":"\/documentation\/iotbluetooth\/ibfile"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBResponse":{"role":"symbol","title":"IBResponse","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBResponse"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBResponse"}],"url":"\/documentation\/iotbluetooth\/ibresponse"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"fetchHeartRate"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"content","content":[{"anchor":"return-value","level":2,"type":"heading","text":"Return Value"},{"type":"paragraph","inlineContent":[{"type":"text","text":""},{"type":"reference","isActive":true,"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRate"},{"type":"text","text":" "},{"type":"text","text":"\n"},{"type":"text","text":"Read from "},{"type":"reference","isActive":true,"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse"},{"type":"text","text":".value"}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/fetchheartrate"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/fetchHeartRate","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"获取手表心率参数"}],"kind":"symbol","metadata":{"role":"symbol","title":"fetchHeartRate","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"fetchHeartRate"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC14fetchHeartRateACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBResponse":{"role":"symbol","title":"IBResponse","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBResponse"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBResponse"}],"url":"\/documentation\/iotbluetooth\/ibresponse"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/fetchHeartRate":{"role":"symbol","title":"fetchHeartRate","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"fetchHeartRate"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"获取手表心率参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/fetchHeartRate","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/fetchheartrate"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHeartRate":{"role":"symbol","title":"IBHeartRate","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHeartRate"}],"abstract":[{"type":"text","text":"心率设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRate","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHeartRate"}],"url":"\/documentation\/iotbluetooth\/ibheartrate"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"fetchOtherTarget"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"content","content":[{"anchor":"return-value","level":2,"type":"heading","text":"Return Value"},{"type":"paragraph","inlineContent":[{"type":"text","text":""},{"type":"reference","isActive":true,"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtherTarget"},{"type":"text","text":" "},{"type":"text","text":"\n"},{"type":"text","text":"Read from "},{"type":"reference","isActive":true,"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse"},{"type":"text","text":".value"}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/fetchothertarget"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/fetchOtherTarget","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"获取其他目标设置"}],"kind":"symbol","metadata":{"role":"symbol","title":"fetchOtherTarget","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"fetchOtherTarget"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC16fetchOtherTargetACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBOtherTarget":{"role":"symbol","title":"IBOtherTarget","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBOtherTarget"}],"abstract":[{"type":"text","text":"其他目标设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtherTarget","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBOtherTarget"}],"url":"\/documentation\/iotbluetooth\/ibothertarget"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/fetchOtherTarget":{"role":"symbol","title":"fetchOtherTarget","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"fetchOtherTarget"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"获取其他目标设置"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/fetchOtherTarget","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/fetchothertarget"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBResponse":{"role":"symbol","title":"IBResponse","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBResponse"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBResponse"}],"url":"\/documentation\/iotbluetooth\/ibresponse"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"fetchScreen"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"content","content":[{"anchor":"return-value","level":2,"type":"heading","text":"Return Value"},{"type":"paragraph","inlineContent":[{"type":"text","text":""},{"type":"reference","isActive":true,"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScreen"},{"type":"text","text":" "},{"type":"text","text":"\n"},{"type":"text","text":"Read from "},{"type":"reference","isActive":true,"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse"},{"type":"text","text":".value"}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/fetchscreen"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/fetchScreen","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"获取手表屏幕参数"}],"kind":"symbol","metadata":{"role":"symbol","title":"fetchScreen","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"fetchScreen"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC11fetchScreenACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBScreen":{"role":"symbol","title":"IBScreen","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBScreen"}],"abstract":[{"type":"text","text":"屏幕参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScreen","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBScreen"}],"url":"\/documentation\/iotbluetooth\/ibscreen"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/fetchScreen":{"role":"symbol","title":"fetchScreen","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"fetchScreen"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"获取手表屏幕参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/fetchScreen","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/fetchscreen"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBResponse":{"role":"symbol","title":"IBResponse","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBResponse"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBResponse"}],"url":"\/documentation\/iotbluetooth\/ibresponse"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"fetchSleep"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"content","content":[{"anchor":"return-value","level":2,"type":"heading","text":"Return Value"},{"type":"paragraph","inlineContent":[{"type":"text","text":""},{"type":"reference","isActive":true,"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleep"},{"type":"text","text":" "},{"type":"text","text":"\n"},{"type":"text","text":"Read from "},{"type":"reference","isActive":true,"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse"},{"type":"text","text":".value"}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/fetchsleep"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/fetchSleep","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"获取睡眠设置"}],"kind":"symbol","metadata":{"role":"symbol","title":"fetchSleep","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"fetchSleep"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC10fetchSleepACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBResponse":{"role":"symbol","title":"IBResponse","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBResponse"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBResponse"}],"url":"\/documentation\/iotbluetooth\/ibresponse"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/fetchSleep":{"role":"symbol","title":"fetchSleep","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"fetchSleep"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"获取睡眠设置"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/fetchSleep","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/fetchsleep"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSleep":{"role":"symbol","title":"IBSleep","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSleep"}],"abstract":[{"type":"text","text":"睡眠设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleep","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBSleep"}],"url":"\/documentation\/iotbluetooth\/ibsleep"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"fetchTargetStep"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"content","content":[{"anchor":"return-value","level":2,"type":"heading","text":"Return Value"},{"type":"paragraph","inlineContent":[{"type":"text","text":""},{"type":"reference","isActive":true,"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTargetStep"},{"type":"text","text":" "},{"type":"text","text":"\n"},{"type":"text","text":"Read from "},{"type":"reference","isActive":true,"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse"},{"type":"text","text":".value"}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/fetchtargetstep"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/fetchTargetStep","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"获取目标步数设置"}],"kind":"symbol","metadata":{"role":"symbol","title":"fetchTargetStep","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"fetchTargetStep"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC15fetchTargetStepACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBResponse":{"role":"symbol","title":"IBResponse","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBResponse"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBResponse"}],"url":"\/documentation\/iotbluetooth\/ibresponse"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTargetStep":{"role":"symbol","title":"IBTargetStep","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTargetStep"}],"abstract":[{"type":"text","text":"目标步数模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTargetStep","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBTargetStep"}],"url":"\/documentation\/iotbluetooth\/ibtargetstep"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/fetchTargetStep":{"role":"symbol","title":"fetchTargetStep","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"fetchTargetStep"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"获取目标步数设置"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/fetchTargetStep","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/fetchtargetstep"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"fetchVibrateSound"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"content","content":[{"anchor":"return-value","level":2,"type":"heading","text":"Return Value"},{"type":"paragraph","inlineContent":[{"type":"text","text":""},{"type":"reference","isActive":true,"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateSound"},{"type":"text","text":" "},{"type":"text","text":"\n"},{"type":"text","text":"Read from "},{"type":"reference","isActive":true,"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse"},{"type":"text","text":".value"}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/fetchvibratesound"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/fetchVibrateSound","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"获取手表声音与震动参数"}],"kind":"symbol","metadata":{"role":"symbol","title":"fetchVibrateSound","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"fetchVibrateSound"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC17fetchVibrateSoundACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBVibrateSound":{"role":"symbol","title":"IBVibrateSound","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBVibrateSound"}],"abstract":[{"type":"text","text":"声音震动模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateSound","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBVibrateSound"}],"url":"\/documentation\/iotbluetooth\/ibvibratesound"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/fetchVibrateSound":{"role":"symbol","title":"fetchVibrateSound","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"fetchVibrateSound"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"获取手表声音与震动参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/fetchVibrateSound","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/fetchvibratesound"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBResponse":{"role":"symbol","title":"IBResponse","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBResponse"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBResponse"}],"url":"\/documentation\/iotbluetooth\/ibresponse"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"fetchWatchState"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"content","content":[{"anchor":"return-value","level":2,"type":"heading","text":"Return Value"},{"type":"paragraph","inlineContent":[{"type":"text","text":"Int "},{"type":"text","text":"\n"},{"type":"text","text":"0 = 空闲状态 "},{"type":"text","text":"\n"},{"type":"text","text":"9 = USB存储状态 "},{"type":"text","text":"\n"},{"type":"text","text":"10 = 运动训练状态 "},{"type":"text","text":"\n"},{"type":"text","text":"Read from "},{"type":"reference","isActive":true,"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse"},{"type":"text","text":".value"}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/fetchwatchstate"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/fetchWatchState","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"获取当前手表状态"}],"kind":"symbol","metadata":{"role":"symbol","title":"fetchWatchState","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"fetchWatchState"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC15fetchWatchStateACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/fetchWatchState":{"role":"symbol","title":"fetchWatchState","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"fetchWatchState"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"获取当前手表状态"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/fetchWatchState","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/fetchwatchstate"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBResponse":{"role":"symbol","title":"IBResponse","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBResponse"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBResponse"}],"url":"\/documentation\/iotbluetooth\/ibresponse"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"fetchWater"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"content","content":[{"anchor":"return-value","level":2,"type":"heading","text":"Return Value"},{"type":"paragraph","inlineContent":[{"type":"text","text":"Int "},{"type":"text","text":"\n"},{"type":"text","text":"0 = 关闭 "},{"type":"text","text":"\n"},{"type":"text","text":"1 = 开启 "},{"type":"text","text":"\n"},{"type":"text","text":"Read from "},{"type":"reference","isActive":true,"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse"},{"type":"text","text":".value"}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/fetchwater"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/fetchWater","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"获取手表喝水提醒设置"}],"kind":"symbol","metadata":{"role":"symbol","title":"fetchWater","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"fetchWater"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC10fetchWaterACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/fetchWater":{"role":"symbol","title":"fetchWater","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"fetchWater"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"获取手表喝水提醒设置"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/fetchWater","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/fetchwater"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBResponse":{"role":"symbol","title":"IBResponse","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBResponse"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBResponse"}],"url":"\/documentation\/iotbluetooth\/ibresponse"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"find"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"parameters","parameters":[{"name":"action","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":""},{"type":"text","text":" "},{"type":"text","text":"0 = 停止查找 "},{"type":"text","text":"\n"},{"type":"text","text":"1 = 开始查找"}]}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/find"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/find","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"查找手表"}],"kind":"symbol","metadata":{"role":"symbol","title":"find","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"find"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC4findACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/find":{"role":"symbol","title":"find","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"find"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"查找手表"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/find","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/find"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"heartRate"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"parameters","parameters":[{"name":"heartRate","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"see "},{"type":"reference","isActive":true,"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRate"}]}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/heartrate"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/heartRate","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"设置手表心率参数"}],"kind":"symbol","metadata":{"role":"symbol","title":"heartRate","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"heartRate"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC9heartRateACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHeartRate":{"role":"symbol","title":"IBHeartRate","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHeartRate"}],"abstract":[{"type":"text","text":"心率设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRate","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHeartRate"}],"url":"\/documentation\/iotbluetooth\/ibheartrate"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/heartRate":{"role":"symbol","title":"heartRate","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"heartRate"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"设置手表心率参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/heartRate","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/heartrate"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"heartRateHigh"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"parameters","parameters":[{"name":"value","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"Int "},{"type":"text","text":"\n"},{"type":"text","text":"最高不超过 250 ,如果需要关闭最高心率提醒,可将最高心率设为255,开启则设正常值即可。"}]}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/heartratehigh"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/heartRateHigh","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"设置最高心率提醒"}],"kind":"symbol","metadata":{"role":"symbol","title":"heartRateHigh","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"heartRateHigh"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC13heartRateHighACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/heartRateHigh":{"role":"symbol","title":"heartRateHigh","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"heartRateHigh"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"设置最高心率提醒"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/heartRateHigh","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/heartratehigh"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"heartRateMode"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"parameters","parameters":[{"name":"action","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":""},{"type":"text","text":" "},{"type":"text","text":"0 = 关闭自动获取 "},{"type":"text","text":"\n"},{"type":"text","text":"1 = 开启自动获取"}]}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/heartratemode"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/heartRateMode","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"开启\/关闭自动获取实时心率"}],"kind":"symbol","metadata":{"role":"symbol","title":"heartRateMode","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"heartRateMode"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC13heartRateModeACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/heartRateMode":{"role":"symbol","title":"heartRateMode","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"heartRateMode"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"开启\/关闭自动获取实时心率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/heartRateMode","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/heartratemode"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"language"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"parameters","parameters":[{"name":"language","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"see "},{"type":"reference","isActive":true,"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage"}]}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/language"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/language","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"设置语言"}],"kind":"symbol","metadata":{"role":"symbol","title":"language","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"language"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC8languageACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage":{"role":"symbol","title":"IBLanguage","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBLanguage"}],"abstract":[{"type":"text","text":"语言原始值从 0 开始递增"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBLanguage"}],"url":"\/documentation\/iotbluetooth\/iblanguage"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/language":{"role":"symbol","title":"language","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"language"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"设置语言"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/language","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/language"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"message"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"parameters","parameters":[{"name":"action","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":""},{"type":"text","text":" "},{"type":"text","text":"0 = 关闭消息 "},{"type":"text","text":"\n"},{"type":"text","text":"1 = 开启消息"}]}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/message"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/message","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"开关消息推送功能"}],"kind":"symbol","metadata":{"role":"symbol","title":"message","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"message"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC7messageACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/message":{"role":"symbol","title":"message","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"message"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"开关消息推送功能"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/message","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/message"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"mp3"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"parameters","parameters":[{"name":"mp3","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"see "},{"type":"reference","isActive":true,"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMp3File"}]}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/mp3"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/mp3","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"发送MP3文件信息"}],"kind":"symbol","metadata":{"role":"symbol","title":"mp3","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"mp3"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC3mp3ACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/mp3":{"role":"symbol","title":"mp3","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"mp3"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"发送MP3文件信息"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/mp3","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/mp3"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBMp3File":{"role":"symbol","title":"IBMp3File","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBMp3File"}],"abstract":[{"type":"text","text":"mp3文件模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMp3File","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBMp3File"}],"url":"\/documentation\/iotbluetooth\/ibmp3file"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"ota"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"parameters","parameters":[{"name":"ota","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"see "},{"type":"reference","isActive":true,"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtaFile"}]}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/ota"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/ota","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"发送OTA文件信息"}],"kind":"symbol","metadata":{"role":"symbol","title":"ota","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"ota"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC3otaACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/ota":{"role":"symbol","title":"ota","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"ota"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"发送OTA文件信息"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/ota","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/ota"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBOtaFile":{"role":"symbol","title":"IBOtaFile","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBOtaFile"}],"abstract":[{"type":"text","text":"OTA文件模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtaFile","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBOtaFile"}],"url":"\/documentation\/iotbluetooth\/ibotafile"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"reboot"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/reboot"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/reboot","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"重新启动"}],"kind":"symbol","metadata":{"role":"symbol","title":"reboot","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"reboot"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC6rebootACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/reboot":{"role":"symbol","title":"reboot","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"reboot"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"重新启动"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/reboot","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/reboot"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"restore"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/restore"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/restore","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"恢复出厂设置"}],"kind":"symbol","metadata":{"role":"symbol","title":"restore","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"restore"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC7restoreACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/restore":{"role":"symbol","title":"restore","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"restore"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"恢复出厂设置"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/restore","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/restore"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"revokeFileSend"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"parameters","parameters":[{"name":"file","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"see "},{"type":"reference","isActive":true,"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile"}]}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/revokefilesend"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/revokeFileSend","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"撤销当前文件传输"}],"kind":"symbol","metadata":{"role":"symbol","title":"revokeFileSend","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"revokeFileSend"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC14revokeFileSendACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/revokeFileSend":{"role":"symbol","title":"revokeFileSend","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"revokeFileSend"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"撤销当前文件传输"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/revokeFileSend","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/revokefilesend"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFile":{"role":"symbol","title":"IBFile","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFile"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBFile"}],"url":"\/documentation\/iotbluetooth\/ibfile"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"screen"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"parameters","parameters":[{"name":"screen","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"see "},{"type":"reference","isActive":true,"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/screen"}]}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/screen"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/screen","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"设置手表屏幕参数"}],"kind":"symbol","metadata":{"role":"symbol","title":"screen","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"screen"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC6screenACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/screen":{"role":"symbol","title":"screen","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"screen"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"设置手表屏幕参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/screen","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/screen"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"sendPhone"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"content","content":[{"anchor":"return-value","level":2,"type":"heading","text":"Return Value"},{"type":"paragraph","inlineContent":[{"type":"text","text":"Int "},{"type":"text","text":"\n"},{"type":"text","text":"0 = 指令校验失败 "},{"type":"text","text":"\n"},{"type":"text","text":"1 = 手表未与任何手机绑定 "},{"type":"text","text":"\n"},{"type":"text","text":"2 = 手表已与该手机绑定 "},{"type":"text","text":"\n"},{"type":"text","text":"3 = 手表已与其他手机绑定 "},{"type":"text","text":"\n"},{"type":"text","text":"Read from "},{"type":"reference","isActive":true,"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse"},{"type":"text","text":".value"}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/sendphone"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/sendPhone","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"发送手机信息"}],"kind":"symbol","metadata":{"role":"symbol","title":"sendPhone","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"sendPhone"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC9sendPhoneACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBResponse":{"role":"symbol","title":"IBResponse","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBResponse"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBResponse"}],"url":"\/documentation\/iotbluetooth\/ibresponse"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/sendPhone":{"role":"symbol","title":"sendPhone","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"sendPhone"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"发送手机信息"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/sendPhone","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/sendphone"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"sendSyncEnd"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/sendsyncend"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/sendSyncEnd","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"发送同步数据结束消息"}],"kind":"symbol","metadata":{"role":"symbol","title":"sendSyncEnd","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"sendSyncEnd"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC11sendSyncEndACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/sendSyncEnd":{"role":"symbol","title":"sendSyncEnd","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"sendSyncEnd"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"发送同步数据结束消息"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/sendSyncEnd","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/sendsyncend"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"sendTime"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"parameters","parameters":[{"name":"sendTime","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"see "},{"type":"reference","isActive":true,"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime"}]}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/sendtime"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/sendTime","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"发送当前时间"}],"kind":"symbol","metadata":{"role":"symbol","title":"sendTime","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"sendTime"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC8sendTimeACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendTime":{"role":"symbol","title":"IBSendTime","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSendTime"}],"abstract":[{"type":"text","text":"发送时间模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBSendTime"}],"url":"\/documentation\/iotbluetooth\/ibsendtime"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/sendTime":{"role":"symbol","title":"sendTime","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"sendTime"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"发送当前时间"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/sendTime","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/sendtime"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"sendUnpair"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/sendunpair"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/sendUnpair","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"发送取消解除配对消息"}],"kind":"symbol","metadata":{"role":"symbol","title":"sendUnpair","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"sendUnpair"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC10sendUnpairACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/sendUnpair":{"role":"symbol","title":"sendUnpair","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"sendUnpair"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"发送取消解除配对消息"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/sendUnpair","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/sendunpair"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"sendWeather"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"parameters","parameters":[{"name":"weather","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"see "},{"type":"reference","isActive":true,"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeather"}]}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/sendweather"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/sendWeather","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"发送天气数据"}],"kind":"symbol","metadata":{"role":"symbol","title":"sendWeather","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"sendWeather"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC11sendWeatherACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/sendWeather":{"role":"symbol","title":"sendWeather","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"sendWeather"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"发送天气数据"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/sendWeather","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/sendweather"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeather":{"role":"symbol","title":"IBWeather","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBWeather"}],"abstract":[{"type":"text","text":"天气模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeather","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBWeather"}],"url":"\/documentation\/iotbluetooth\/ibweather"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"setClock"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"parameters","parameters":[{"name":"clock","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"see "},{"type":"reference","isActive":true,"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClock"}]}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/setclock"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/setClock","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"发送闹钟设置"}],"kind":"symbol","metadata":{"role":"symbol","title":"setClock","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"setClock"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC8setClockACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/setClock":{"role":"symbol","title":"setClock","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"setClock"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"发送闹钟设置"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/setClock","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/setclock"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBClock":{"role":"symbol","title":"IBClock","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBClock"}],"abstract":[{"type":"text","text":"闹钟模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClock","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBClock"}],"url":"\/documentation\/iotbluetooth\/ibclock"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"shutdown"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/shutdown"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/shutdown","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"关机"}],"kind":"symbol","metadata":{"role":"symbol","title":"shutdown","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"shutdown"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC8shutdownACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/shutdown":{"role":"symbol","title":"shutdown","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"shutdown"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"关机"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/shutdown","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/shutdown"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"sleep"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"parameters","parameters":[{"name":"sleep","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"see "},{"type":"reference","isActive":true,"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleep"}]}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/sleep"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/sleep","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"设置睡眠"}],"kind":"symbol","metadata":{"role":"symbol","title":"sleep","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"sleep"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC5sleepACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/sleep":{"role":"symbol","title":"sleep","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"sleep"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"设置睡眠"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/sleep","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/sleep"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSleep":{"role":"symbol","title":"IBSleep","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSleep"}],"abstract":[{"type":"text","text":"睡眠设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleep","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBSleep"}],"url":"\/documentation\/iotbluetooth\/ibsleep"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"startSport"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"parameters","parameters":[{"name":"motionMode","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"see "},{"type":"reference","isActive":true,"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMotionMode"}]}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/startsport"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/startSport","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"开启指定运动模式"}],"kind":"symbol","metadata":{"role":"symbol","title":"startSport","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"startSport"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC10startSportACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBMotionMode":{"role":"symbol","title":"IBMotionMode","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBMotionMode"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMotionMode","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBMotionMode"}],"url":"\/documentation\/iotbluetooth\/ibmotionmode"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/startSport":{"role":"symbol","title":"startSport","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"startSport"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"开启指定运动模式"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/startSport","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/startsport"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"switchDial"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"parameters","parameters":[{"name":"dialID","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"Int"},{"type":"text","text":" "},{"type":"text","text":"表盘id"}]}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/switchdial"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/switchDial","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"切换表盘"}],"kind":"symbol","metadata":{"role":"symbol","title":"switchDial","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"switchDial"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC10switchDialACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/switchDial":{"role":"symbol","title":"switchDial","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"switchDial"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"切换表盘"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/switchDial","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/switchdial"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"syncBloodOxygen"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"parameters","parameters":[{"name":"value","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":""},{"type":"text","text":" "},{"type":"text","text":"0 = 今天 "},{"type":"text","text":"\n"},{"type":"text","text":"1 = 前1天 "},{"type":"text","text":"\n"},{"type":"text","text":"2 = 前2天 "},{"type":"text","text":"\n"},{"type":"text","text":"3 = 前3天 "},{"type":"text","text":"\n"},{"type":"text","text":"依此类推,取值范围0~29。"}]}]}]},{"kind":"content","content":[{"anchor":"return-value","level":2,"type":"heading","text":"Return Value"},{"type":"paragraph","inlineContent":[{"type":"text","text":"[IBHistoryBloodOxygenItem] "},{"type":"text","text":"\n"},{"type":"text","text":"Read from "},{"type":"reference","isActive":true,"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse"},{"type":"text","text":".items"}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/syncbloodoxygen"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/syncBloodOxygen","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"同步血氧历史数据"}],"kind":"symbol","metadata":{"role":"symbol","title":"syncBloodOxygen","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"syncBloodOxygen"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC15syncBloodOxygenACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBResponse":{"role":"symbol","title":"IBResponse","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBResponse"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBResponse"}],"url":"\/documentation\/iotbluetooth\/ibresponse"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/syncBloodOxygen":{"role":"symbol","title":"syncBloodOxygen","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"syncBloodOxygen"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"同步血氧历史数据"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/syncBloodOxygen","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/syncbloodoxygen"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"syncCalorie"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"parameters","parameters":[{"name":"value","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":""},{"type":"text","text":" "},{"type":"text","text":"0 = 今天 "},{"type":"text","text":"\n"},{"type":"text","text":"1 = 前1天 "},{"type":"text","text":"\n"},{"type":"text","text":"2 = 前2天 "},{"type":"text","text":"\n"},{"type":"text","text":"3 = 前3天 "},{"type":"text","text":"\n"},{"type":"text","text":"依此类推,取值范围0~29。"}]}]}]},{"kind":"content","content":[{"anchor":"return-value","level":2,"type":"heading","text":"Return Value"},{"type":"paragraph","inlineContent":[{"type":"text","text":"[IBHistoryCalorieItem] "},{"type":"text","text":"\n"},{"type":"text","text":"Read from "},{"type":"reference","isActive":true,"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse"},{"type":"text","text":".items"}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/synccalorie"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/syncCalorie","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"同步卡路里历史数据"}],"kind":"symbol","metadata":{"role":"symbol","title":"syncCalorie","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"syncCalorie"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC11syncCalorieACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/syncCalorie":{"role":"symbol","title":"syncCalorie","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"syncCalorie"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"同步卡路里历史数据"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/syncCalorie","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/synccalorie"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBResponse":{"role":"symbol","title":"IBResponse","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBResponse"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBResponse"}],"url":"\/documentation\/iotbluetooth\/ibresponse"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"syncDistance"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"parameters","parameters":[{"name":"value","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":""},{"type":"text","text":" "},{"type":"text","text":"0 = 今天 "},{"type":"text","text":"\n"},{"type":"text","text":"1 = 前1天 "},{"type":"text","text":"\n"},{"type":"text","text":"2 = 前2天 "},{"type":"text","text":"\n"},{"type":"text","text":"3 = 前3天 "},{"type":"text","text":"\n"},{"type":"text","text":"依此类推,取值范围0~29。"}]}]}]},{"kind":"content","content":[{"anchor":"return-value","level":2,"type":"heading","text":"Return Value"},{"type":"paragraph","inlineContent":[{"type":"text","text":"[IBHistoryDistanceItem] "},{"type":"text","text":"\n"},{"type":"text","text":"Read from "},{"type":"reference","isActive":true,"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse"},{"type":"text","text":".items"}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/syncdistance"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/syncDistance","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"同步距离历史数据"}],"kind":"symbol","metadata":{"role":"symbol","title":"syncDistance","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"syncDistance"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC12syncDistanceACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBResponse":{"role":"symbol","title":"IBResponse","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBResponse"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBResponse"}],"url":"\/documentation\/iotbluetooth\/ibresponse"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/syncDistance":{"role":"symbol","title":"syncDistance","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"syncDistance"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"同步距离历史数据"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/syncDistance","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/syncdistance"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"syncFatBurning"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"parameters","parameters":[{"name":"value","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":""},{"type":"text","text":" "},{"type":"text","text":"0 = 今天 "},{"type":"text","text":"\n"},{"type":"text","text":"1 = 前1天 "},{"type":"text","text":"\n"},{"type":"text","text":"2 = 前2天 "},{"type":"text","text":"\n"},{"type":"text","text":"3 = 前3天 "},{"type":"text","text":"\n"},{"type":"text","text":"依此类推,取值范围0~29。"}]}]}]},{"kind":"content","content":[{"anchor":"return-value","level":2,"type":"heading","text":"Return Value"},{"type":"paragraph","inlineContent":[{"type":"text","text":"[IBHistoryBurningItem] "},{"type":"text","text":"\n"},{"type":"text","text":"Read from "},{"type":"reference","isActive":true,"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse"},{"type":"text","text":".items"}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/syncfatburning"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/syncFatBurning","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"同步燃脂时间历史数据"}],"kind":"symbol","metadata":{"role":"symbol","title":"syncFatBurning","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"syncFatBurning"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC14syncFatBurningACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBResponse":{"role":"symbol","title":"IBResponse","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBResponse"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBResponse"}],"url":"\/documentation\/iotbluetooth\/ibresponse"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/syncFatBurning":{"role":"symbol","title":"syncFatBurning","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"syncFatBurning"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"同步燃脂时间历史数据"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/syncFatBurning","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/syncfatburning"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"syncGPS"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"parameters","parameters":[{"name":"value","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"开始训练时间戳"}]}]}]},{"kind":"content","content":[{"anchor":"return-value","level":2,"type":"heading","text":"Return Value"},{"type":"paragraph","inlineContent":[{"type":"text","text":"[IBHistoryGpsItem] "},{"type":"text","text":"\n"},{"type":"text","text":"Read from "},{"type":"reference","isActive":true,"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse"},{"type":"text","text":".items"}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/syncgps"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/syncGPS","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"同步路径坐标集历史数据"}],"kind":"symbol","metadata":{"role":"symbol","title":"syncGPS","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"syncGPS"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC7syncGPSACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBResponse":{"role":"symbol","title":"IBResponse","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBResponse"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBResponse"}],"url":"\/documentation\/iotbluetooth\/ibresponse"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/syncGPS":{"role":"symbol","title":"syncGPS","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"syncGPS"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"同步路径坐标集历史数据"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/syncGPS","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/syncgps"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"syncHeartRate"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"parameters","parameters":[{"name":"value","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":""},{"type":"text","text":" "},{"type":"text","text":"0 = 今天 "},{"type":"text","text":"\n"},{"type":"text","text":"1 = 前1天 "},{"type":"text","text":"\n"},{"type":"text","text":"2 = 前2天 "},{"type":"text","text":"\n"},{"type":"text","text":"3 = 前3天 "},{"type":"text","text":"\n"},{"type":"text","text":"依此类推,取值范围0~29。"}]}]}]},{"kind":"content","content":[{"anchor":"return-value","level":2,"type":"heading","text":"Return Value"},{"type":"paragraph","inlineContent":[{"type":"text","text":"[IBHistoryHeartRateItem] "},{"type":"text","text":"\n"},{"type":"text","text":"Read from "},{"type":"reference","isActive":true,"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse"},{"type":"text","text":".items"}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/syncheartrate"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/syncHeartRate","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"同步心率历史数据"}],"kind":"symbol","metadata":{"role":"symbol","title":"syncHeartRate","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"syncHeartRate"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC13syncHeartRateACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/syncHeartRate":{"role":"symbol","title":"syncHeartRate","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"syncHeartRate"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"同步心率历史数据"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/syncHeartRate","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/syncheartrate"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBResponse":{"role":"symbol","title":"IBResponse","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBResponse"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBResponse"}],"url":"\/documentation\/iotbluetooth\/ibresponse"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"syncSleep"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"parameters","parameters":[{"name":"value","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":""},{"type":"text","text":" "},{"type":"text","text":"0 = 今天 "},{"type":"text","text":"\n"},{"type":"text","text":"1 = 前1天 "},{"type":"text","text":"\n"},{"type":"text","text":"2 = 前2天 "},{"type":"text","text":"\n"},{"type":"text","text":"3 = 前3天 "},{"type":"text","text":"\n"},{"type":"text","text":"依此类推,取值范围0~29。"}]}]}]},{"kind":"content","content":[{"anchor":"return-value","level":2,"type":"heading","text":"Return Value"},{"type":"paragraph","inlineContent":[{"type":"text","text":"[IBHistorySleepItem] "},{"type":"text","text":"\n"},{"type":"text","text":"Read from "},{"type":"reference","isActive":true,"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse"},{"type":"text","text":".items"}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/syncsleep"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/syncSleep","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"同步睡眠历史数据"}],"kind":"symbol","metadata":{"role":"symbol","title":"syncSleep","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"syncSleep"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC9syncSleepACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBResponse":{"role":"symbol","title":"IBResponse","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBResponse"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBResponse"}],"url":"\/documentation\/iotbluetooth\/ibresponse"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/syncSleep":{"role":"symbol","title":"syncSleep","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"syncSleep"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"同步睡眠历史数据"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/syncSleep","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/syncsleep"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"syncStand"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"parameters","parameters":[{"name":"value","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":""},{"type":"text","text":" "},{"type":"text","text":"0 = 今天 "},{"type":"text","text":"\n"},{"type":"text","text":"1 = 前1天 "},{"type":"text","text":"\n"},{"type":"text","text":"2 = 前2天 "},{"type":"text","text":"\n"},{"type":"text","text":"3 = 前3天 "},{"type":"text","text":"\n"},{"type":"text","text":"依此类推,取值范围0~29。"}]}]}]},{"kind":"content","content":[{"anchor":"return-value","level":2,"type":"heading","text":"Return Value"},{"type":"paragraph","inlineContent":[{"type":"text","text":"[IBHistoryStandItem] "},{"type":"text","text":"\n"},{"type":"text","text":"Read from "},{"type":"reference","isActive":true,"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse"},{"type":"text","text":".items"}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/syncstand"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/syncStand","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"同步站立历史数据"}],"kind":"symbol","metadata":{"role":"symbol","title":"syncStand","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"syncStand"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC9syncStandACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBResponse":{"role":"symbol","title":"IBResponse","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBResponse"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBResponse"}],"url":"\/documentation\/iotbluetooth\/ibresponse"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/syncStand":{"role":"symbol","title":"syncStand","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"syncStand"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"同步站立历史数据"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/syncStand","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/syncstand"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"syncStepCount"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"parameters","parameters":[{"name":"value","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":""},{"type":"text","text":" "},{"type":"text","text":"0 = 今天 "},{"type":"text","text":"\n"},{"type":"text","text":"1 = 前1天 "},{"type":"text","text":"\n"},{"type":"text","text":"2 = 前2天 "},{"type":"text","text":"\n"},{"type":"text","text":"3 = 前3天 "},{"type":"text","text":"\n"},{"type":"text","text":"依此类推,取值范围0~29。"}]}]}]},{"kind":"content","content":[{"anchor":"return-value","level":2,"type":"heading","text":"Return Value"},{"type":"paragraph","inlineContent":[{"type":"text","text":"[IBHistoryStepItem] "},{"type":"text","text":"\n"},{"type":"text","text":"Read from "},{"type":"reference","isActive":true,"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse"},{"type":"text","text":".items"}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/syncstepcount"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/syncStepCount","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"同步历史步数"}],"kind":"symbol","metadata":{"role":"symbol","title":"syncStepCount","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"syncStepCount"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC13syncStepCountACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBResponse":{"role":"symbol","title":"IBResponse","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBResponse"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBResponse"}],"url":"\/documentation\/iotbluetooth\/ibresponse"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/syncStepCount":{"role":"symbol","title":"syncStepCount","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"syncStepCount"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"同步历史步数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/syncStepCount","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/syncstepcount"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"syncTrain"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"parameters","parameters":[{"name":"value","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":""},{"type":"text","text":" "},{"type":"text","text":"0 = 今天 "},{"type":"text","text":"\n"},{"type":"text","text":"1 = 前1天 "},{"type":"text","text":"\n"},{"type":"text","text":"2 = 前2天 "},{"type":"text","text":"\n"},{"type":"text","text":"3 = 前3天 "},{"type":"text","text":"\n"},{"type":"text","text":"依此类推,取值范围0~29。"}]}]}]},{"kind":"content","content":[{"anchor":"return-value","level":2,"type":"heading","text":"Return Value"},{"type":"paragraph","inlineContent":[{"type":"text","text":"[IBHistoryBaseTrainingItem] "},{"type":"text","text":"\n"},{"type":"text","text":"Read from "},{"type":"reference","isActive":true,"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse"},{"type":"text","text":".items"}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/synctrain"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/syncTrain","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"同步基础训练历史数据"}],"kind":"symbol","metadata":{"role":"symbol","title":"syncTrain","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"syncTrain"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC9syncTrainACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/syncTrain":{"role":"symbol","title":"syncTrain","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"syncTrain"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"同步基础训练历史数据"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/syncTrain","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/synctrain"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBResponse":{"role":"symbol","title":"IBResponse","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBResponse"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBResponse"}],"url":"\/documentation\/iotbluetooth\/ibresponse"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"takePhoto"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"parameters","parameters":[{"name":"action","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":""},{"type":"text","text":" "},{"type":"text","text":"0 = 退出手势拍照 "},{"type":"text","text":"\n"},{"type":"text","text":"1 = 进入手势拍照"}]}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/takephoto"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/takePhoto","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"手势拍照"}],"kind":"symbol","metadata":{"role":"symbol","title":"takePhoto","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"takePhoto"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC9takePhotoACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/takePhoto":{"role":"symbol","title":"takePhoto","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"takePhoto"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"手势拍照"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/takePhoto","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/takephoto"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"targetOther"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"parameters","parameters":[{"name":"targetOther","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"see "},{"type":"reference","isActive":true,"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtherTarget"}]}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/targetother"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/targetOther","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"设置其他目标"}],"kind":"symbol","metadata":{"role":"symbol","title":"targetOther","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"targetOther"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC11targetOtherACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBOtherTarget":{"role":"symbol","title":"IBOtherTarget","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBOtherTarget"}],"abstract":[{"type":"text","text":"其他目标设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtherTarget","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBOtherTarget"}],"url":"\/documentation\/iotbluetooth\/ibothertarget"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/targetOther":{"role":"symbol","title":"targetOther","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"targetOther"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"设置其他目标"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/targetOther","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/targetother"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"targetStep"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"parameters","parameters":[{"name":"targetStep","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"see "},{"type":"reference","isActive":true,"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTarget"}]}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/targetstep"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/targetStep","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"设置目标步数"}],"kind":"symbol","metadata":{"role":"symbol","title":"targetStep","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"targetStep"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC10targetStepACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/targetStep":{"role":"symbol","title":"targetStep","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"targetStep"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"设置目标步数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/targetStep","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/targetstep"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTarget":{"role":"symbol","title":"IBTrainTarget","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTrainTarget"}],"abstract":[{"type":"text","text":"训练目标设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTarget","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBTrainTarget"}],"url":"\/documentation\/iotbluetooth\/ibtraintarget"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"trainFrequency"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"parameters","parameters":[{"name":"value","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"Int "},{"type":"text","text":"\n"},{"type":"text","text":"单位(秒)"}]}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/trainfrequency"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/trainFrequency","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"设置训练实时数据采样频率"}],"kind":"symbol","metadata":{"role":"symbol","title":"trainFrequency","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"trainFrequency"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC14trainFrequencyACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/trainFrequency":{"role":"symbol","title":"trainFrequency","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"trainFrequency"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"设置训练实时数据采样频率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/trainFrequency","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/trainfrequency"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"trainPauseResume"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"parameters","parameters":[{"name":"action","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":""},{"type":"text","text":" "},{"type":"text","text":"0 = 暂停 "},{"type":"text","text":"\n"},{"type":"text","text":"1 = 恢复"}]}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/trainpauseresume"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/trainPauseResume","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"训练暂停\/恢复"}],"kind":"symbol","metadata":{"role":"symbol","title":"trainPauseResume","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"trainPauseResume"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC16trainPauseResumeACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/trainPauseResume":{"role":"symbol","title":"trainPauseResume","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"trainPauseResume"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"训练暂停\/恢复"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/trainPauseResume","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/trainpauseresume"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"trainTarget"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"content","content":[{"anchor":"discussion","level":2,"type":"heading","text":"Discussion"},{"type":"unorderedList","items":[{"content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"Parameter trainTarget:see "},{"type":"reference","isActive":true,"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTarget"}]}]}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/traintarget"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/trainTarget","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"设置训练目标"}],"kind":"symbol","metadata":{"role":"symbol","title":"trainTarget","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"trainTarget"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC11trainTargetACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/trainTarget":{"role":"symbol","title":"trainTarget","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"trainTarget"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"设置训练目标"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/trainTarget","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/traintarget"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTarget":{"role":"symbol","title":"IBTrainTarget","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTrainTarget"}],"abstract":[{"type":"text","text":"训练目标设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTarget","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBTrainTarget"}],"url":"\/documentation\/iotbluetooth\/ibtraintarget"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"unit"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"parameters","parameters":[{"name":"value","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"Int "},{"type":"text","text":"\n"},{"type":"text","text":"0 = 公制 "},{"type":"text","text":"\n"},{"type":"text","text":"1 = 英制"}]}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/unit"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/unit","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"设置手表公英制单位"}],"kind":"symbol","metadata":{"role":"symbol","title":"unit","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"unit"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC4unitACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/unit":{"role":"symbol","title":"unit","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"unit"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"设置手表公英制单位"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/unit","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/unit"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"unpair"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/unpair"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/unpair","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"发送解除配对消息"}],"kind":"symbol","metadata":{"role":"symbol","title":"unpair","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"unpair"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC6unpairACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/unpair":{"role":"symbol","title":"unpair","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"unpair"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"发送解除配对消息"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/unpair","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/unpair"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"userData"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"parameters","parameters":[{"name":"userInfo","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"see "},{"type":"reference","isActive":true,"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo"}]}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/userdata"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/userData","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"设置用户数据"}],"kind":"symbol","metadata":{"role":"symbol","title":"userData","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"userData"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC8userDataACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/userData":{"role":"symbol","title":"userData","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"userData"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"设置用户数据"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/userData","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/userdata"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBUserInfo":{"role":"symbol","title":"IBUserInfo","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBUserInfo"}],"abstract":[{"type":"text","text":"用户数据模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBUserInfo"}],"url":"\/documentation\/iotbluetooth\/ibuserinfo"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"vibrateSound"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"parameters","parameters":[{"name":"vibrateSound","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"see "},{"type":"reference","isActive":true,"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateSound"}]}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/vibratesound"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/vibrateSound","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"APP设置手表声音与震动参数"}],"kind":"symbol","metadata":{"role":"symbol","title":"vibrateSound","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"vibrateSound"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC12vibrateSoundACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/vibrateSound":{"role":"symbol","title":"vibrateSound","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"vibrateSound"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"APP设置手表声音与震动参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/vibrateSound","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/vibratesound"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBVibrateSound":{"role":"symbol","title":"IBVibrateSound","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBVibrateSound"}],"abstract":[{"type":"text","text":"声音震动模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateSound","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBVibrateSound"}],"url":"\/documentation\/iotbluetooth\/ibvibratesound"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"water"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"parameters","parameters":[{"name":"water","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"see "},{"type":"reference","isActive":true,"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWater"}]}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibability\/water"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/water","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"设置喝水提醒"}],"kind":"symbol","metadata":{"role":"symbol","title":"water","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"water"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBAbilityC5waterACvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility/water":{"role":"symbol","title":"water","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"water"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"}],"abstract":[{"type":"text","text":"设置喝水提醒"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility\/water","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibability\/water"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWater":{"role":"symbol","title":"IBWater","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBWater"}],"abstract":[{"type":"text","text":"喝水提醒设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWater","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBWater"}],"url":"\/documentation\/iotbluetooth\/ibwater"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbout"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibabout"],"traits":[{"interfaceLanguage":"swift"}]}],"relationshipsSections":[{"identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/Se","doc:\/\/com.thisiot.IOTBluetooth\/SE"],"kind":"relationships","title":"Conforms To","type":"conformsTo"}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbout","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"关于本机模型"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbout"}],"title":"IBAbout","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:12IOTBluetooth7IBAboutC","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBAbout"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"topicSections":[{"title":"Initializers","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbout\/init()","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbout\/init(from:)"]},{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbout\/code","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbout\/macAddress","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbout\/major","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbout\/mid","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbout\/minor"]}],"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbout/init(from:)":{"role":"symbol","title":"init(from:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbout\/init(from:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibabout\/init(from:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbout/code":{"role":"symbol","title":"code","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"code"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"标记码,有数据更新时为1,无数据更新时为0,暂不用"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbout\/code","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibabout\/code"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbout/macAddress":{"role":"symbol","title":"macAddress","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"macAddress"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"MAC地址"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbout\/macAddress","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibabout\/macaddress"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbout/major":{"role":"symbol","title":"major","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"major"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"固件主版本号"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbout\/major","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibabout\/major"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbout/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbout\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibabout\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbout/mid":{"role":"symbol","title":"mid","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"mid"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"固件中版本号"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbout\/mid","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibabout\/mid"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbout":{"role":"symbol","title":"IBAbout","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbout"}],"abstract":[{"type":"text","text":"关于本机模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbout","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbout"}],"url":"\/documentation\/iotbluetooth\/ibabout"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbout/minor":{"role":"symbol","title":"minor","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"minor"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"固件次版本号"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbout\/minor","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibabout\/minor"},"doc://com.thisiot.IOTBluetooth/SE":{"type":"unresolvable","title":"Swift.Encodable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/SE"},"doc://com.thisiot.IOTBluetooth/Se":{"type":"unresolvable","title":"Swift.Decodable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/Se"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"code"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibabout\/code"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbout\/code","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"标记码,有数据更新时为1,无数据更新时为0,暂不用"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"code"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"code","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth7IBAboutC4codeSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbout"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbout":{"role":"symbol","title":"IBAbout","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbout"}],"abstract":[{"type":"text","text":"关于本机模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbout","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbout"}],"url":"\/documentation\/iotbluetooth\/ibabout"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbout/code":{"role":"symbol","title":"code","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"code"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"标记码,有数据更新时为1,无数据更新时为0,暂不用"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbout\/code","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibabout\/code"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"()"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibabout\/init()"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbout\/init()","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"title":"init()","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth7IBAboutCACycfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbout"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbout/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbout\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibabout\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbout":{"role":"symbol","title":"IBAbout","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbout"}],"abstract":[{"type":"text","text":"关于本机模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbout","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbout"}],"url":"\/documentation\/iotbluetooth\/ibabout"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":" "},{"kind":"internalParam","text":"decoder"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibabout\/init(from:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbout\/init(from:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"Decodable.init(from:)"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"title":"init(from:)","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth7IBAboutC4fromACs7Decoder_p_tKcfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbout"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbout":{"role":"symbol","title":"IBAbout","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbout"}],"abstract":[{"type":"text","text":"关于本机模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbout","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbout"}],"url":"\/documentation\/iotbluetooth\/ibabout"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbout/init(from:)":{"role":"symbol","title":"init(from:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbout\/init(from:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibabout\/init(from:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"macAddress"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibabout\/macaddress"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbout\/macAddress","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"MAC地址"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"macAddress"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"title":"macAddress","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth7IBAboutC10macAddressSSvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbout"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbout":{"role":"symbol","title":"IBAbout","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbout"}],"abstract":[{"type":"text","text":"关于本机模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbout","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbout"}],"url":"\/documentation\/iotbluetooth\/ibabout"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbout/macAddress":{"role":"symbol","title":"macAddress","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"macAddress"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"MAC地址"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbout\/macAddress","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibabout\/macaddress"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"major"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibabout\/major"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbout\/major","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"固件主版本号"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"major"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"major","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth7IBAboutC5majorSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbout"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbout/major":{"role":"symbol","title":"major","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"major"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"固件主版本号"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbout\/major","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibabout\/major"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbout":{"role":"symbol","title":"IBAbout","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbout"}],"abstract":[{"type":"text","text":"关于本机模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbout","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbout"}],"url":"\/documentation\/iotbluetooth\/ibabout"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"mid"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibabout\/mid"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbout\/mid","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"固件中版本号"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"mid"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"mid","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth7IBAboutC3midSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbout"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbout/mid":{"role":"symbol","title":"mid","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"mid"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"固件中版本号"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbout\/mid","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibabout\/mid"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbout":{"role":"symbol","title":"IBAbout","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbout"}],"abstract":[{"type":"text","text":"关于本机模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbout","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbout"}],"url":"\/documentation\/iotbluetooth\/ibabout"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"minor"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibabout\/minor"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbout\/minor","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"固件次版本号"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"minor"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"minor","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth7IBAboutC5minorSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbout"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbout/minor":{"role":"symbol","title":"minor","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"minor"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"固件次版本号"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbout\/minor","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibabout\/minor"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbout":{"role":"symbol","title":"IBAbout","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbout"}],"abstract":[{"type":"text","text":"关于本机模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbout","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbout"}],"url":"\/documentation\/iotbluetooth\/ibabout"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAddress"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibaddress"],"traits":[{"interfaceLanguage":"swift"}]}],"relationshipsSections":[{"identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/Se","doc:\/\/com.thisiot.IOTBluetooth\/SE"],"kind":"relationships","title":"Conforms To","type":"conformsTo"}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddress","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"地址模型"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAddress"}],"title":"IBAddress","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:12IOTBluetooth9IBAddressC","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBAddress"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"topicSections":[{"title":"Initializers","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddress\/init()","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddress\/init(from:)"]},{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddress\/atm","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddress\/city","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddress\/lat","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddress\/lon","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddress\/subLocality"]}],"references":{"doc://com.thisiot.IOTBluetooth/Se":{"type":"unresolvable","title":"Swift.Decodable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/Se"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAddress/init(from:)":{"role":"symbol","title":"init(from:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddress\/init(from:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibaddress\/init(from:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAddress/lon":{"role":"symbol","title":"lon","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"lon"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"经度,该值除以10000000得到实际纬度值"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddress\/lon","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibaddress\/lon"},"doc://com.thisiot.IOTBluetooth/SE":{"type":"unresolvable","title":"Swift.Encodable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/SE"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAddress/city":{"role":"symbol","title":"city","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"city"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"城市"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddress\/city","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibaddress\/city"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAddress/lat":{"role":"symbol","title":"lat","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"lat"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"纬度,该值除以10000000得"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddress\/lat","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibaddress\/lat"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAddress/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddress\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibaddress\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAddress":{"role":"symbol","title":"IBAddress","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAddress"}],"abstract":[{"type":"text","text":"地址模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddress","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAddress"}],"url":"\/documentation\/iotbluetooth\/ibaddress"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAddress/atm":{"role":"symbol","title":"atm","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"atm"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"气压,单位hPa"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddress\/atm","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibaddress\/atm"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAddress/subLocality":{"role":"symbol","title":"subLocality","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"subLocality"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"区"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddress\/subLocality","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibaddress\/sublocality"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"atm"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibaddress\/atm"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddress\/atm","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"气压,单位hPa"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"atm"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"atm","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth9IBAddressC3atmSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddress"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAddress/atm":{"role":"symbol","title":"atm","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"atm"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"气压,单位hPa"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddress\/atm","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibaddress\/atm"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAddress":{"role":"symbol","title":"IBAddress","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAddress"}],"abstract":[{"type":"text","text":"地址模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddress","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAddress"}],"url":"\/documentation\/iotbluetooth\/ibaddress"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"city"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibaddress\/city"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddress\/city","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"城市"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"city"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"title":"city","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth9IBAddressC4citySSvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddress"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAddress/city":{"role":"symbol","title":"city","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"city"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"城市"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddress\/city","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibaddress\/city"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAddress":{"role":"symbol","title":"IBAddress","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAddress"}],"abstract":[{"type":"text","text":"地址模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddress","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAddress"}],"url":"\/documentation\/iotbluetooth\/ibaddress"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"()"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibaddress\/init()"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddress\/init()","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"title":"init()","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth9IBAddressCACycfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddress"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAddress/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddress\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibaddress\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAddress":{"role":"symbol","title":"IBAddress","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAddress"}],"abstract":[{"type":"text","text":"地址模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddress","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAddress"}],"url":"\/documentation\/iotbluetooth\/ibaddress"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":" "},{"kind":"internalParam","text":"decoder"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibaddress\/init(from:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddress\/init(from:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"Decodable.init(from:)"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"title":"init(from:)","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth9IBAddressC4fromACs7Decoder_p_tKcfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddress"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAddress/init(from:)":{"role":"symbol","title":"init(from:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddress\/init(from:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibaddress\/init(from:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAddress":{"role":"symbol","title":"IBAddress","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAddress"}],"abstract":[{"type":"text","text":"地址模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddress","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAddress"}],"url":"\/documentation\/iotbluetooth\/ibaddress"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"lat"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibaddress\/lat"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddress\/lat","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"纬度,该值除以10000000得"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"lat"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"lat","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth9IBAddressC3latSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddress"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAddress":{"role":"symbol","title":"IBAddress","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAddress"}],"abstract":[{"type":"text","text":"地址模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddress","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAddress"}],"url":"\/documentation\/iotbluetooth\/ibaddress"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAddress/lat":{"role":"symbol","title":"lat","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"lat"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"纬度,该值除以10000000得"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddress\/lat","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibaddress\/lat"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"lon"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibaddress\/lon"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddress\/lon","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"经度,该值除以10000000得到实际纬度值"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"lon"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"lon","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth9IBAddressC3lonSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddress"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAddress/lon":{"role":"symbol","title":"lon","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"lon"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"经度,该值除以10000000得到实际纬度值"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddress\/lon","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibaddress\/lon"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAddress":{"role":"symbol","title":"IBAddress","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAddress"}],"abstract":[{"type":"text","text":"地址模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddress","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAddress"}],"url":"\/documentation\/iotbluetooth\/ibaddress"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"subLocality"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibaddress\/sublocality"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddress\/subLocality","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"区"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"subLocality"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"title":"subLocality","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth9IBAddressC11subLocalitySSvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddress"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAddress/subLocality":{"role":"symbol","title":"subLocality","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"subLocality"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"区"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddress\/subLocality","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibaddress\/sublocality"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAddress":{"role":"symbol","title":"IBAddress","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAddress"}],"abstract":[{"type":"text","text":"地址模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddress","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAddress"}],"url":"\/documentation\/iotbluetooth\/ibaddress"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAddressBook"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibaddressbook"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddressBook","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"通讯录模型"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAddressBook"}],"title":"IBAddressBook","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:12IOTBluetooth13IBAddressBookC","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBAddressBook"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"topicSections":[{"title":"Initializers","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddressBook\/init()"]},{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddressBook\/description","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddressBook\/gender","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddressBook\/name","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddressBook\/phoneNumbers"]}],"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAddressBook/phoneNumbers":{"role":"symbol","title":"phoneNumbers","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"phoneNumbers"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","text":"IBPhoneNumber","preciseIdentifier":"s:12IOTBluetooth13IBPhoneNumberC"},{"kind":"text","text":"]"}],"abstract":[{"type":"text","text":"电话号码,一个联系人名下可有最少1个最多2个电话号码"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddressBook\/phoneNumbers","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibaddressbook\/phonenumbers"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAddressBook/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddressBook\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibaddressbook\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAddressBook":{"role":"symbol","title":"IBAddressBook","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAddressBook"}],"abstract":[{"type":"text","text":"通讯录模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddressBook","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAddressBook"}],"url":"\/documentation\/iotbluetooth\/ibaddressbook"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAddressBook/description":{"role":"symbol","title":"description","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"description"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddressBook\/description","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibaddressbook\/description"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAddressBook/name":{"role":"symbol","title":"name","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"name"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"姓名,不传手表上显示名字为“未知”"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddressBook\/name","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibaddressbook\/name"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAddressBook/gender":{"role":"symbol","title":"gender","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"gender"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"性别 0:未指定,1:男性 ,2:女性"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddressBook\/gender","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibaddressbook\/gender"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"description"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":" { "},{"kind":"keyword","text":"get"},{"kind":"text","text":" }"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibaddressbook\/description"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddressBook\/description","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"description"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"title":"description","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth13IBAddressBookC11descriptionSSvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddressBook"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAddressBook/description":{"role":"symbol","title":"description","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"description"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddressBook\/description","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibaddressbook\/description"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAddressBook":{"role":"symbol","title":"IBAddressBook","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAddressBook"}],"abstract":[{"type":"text","text":"通讯录模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddressBook","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAddressBook"}],"url":"\/documentation\/iotbluetooth\/ibaddressbook"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"gender"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibaddressbook\/gender"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddressBook\/gender","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"性别 0:未指定,1:男性 ,2:女性"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"gender"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"gender","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth13IBAddressBookC6genderSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddressBook"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAddressBook":{"role":"symbol","title":"IBAddressBook","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAddressBook"}],"abstract":[{"type":"text","text":"通讯录模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddressBook","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAddressBook"}],"url":"\/documentation\/iotbluetooth\/ibaddressbook"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAddressBook/gender":{"role":"symbol","title":"gender","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"gender"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"性别 0:未指定,1:男性 ,2:女性"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddressBook\/gender","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibaddressbook\/gender"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"()"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibaddressbook\/init()"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddressBook\/init()","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"title":"init()","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth13IBAddressBookCACycfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddressBook"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAddressBook":{"role":"symbol","title":"IBAddressBook","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAddressBook"}],"abstract":[{"type":"text","text":"通讯录模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddressBook","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAddressBook"}],"url":"\/documentation\/iotbluetooth\/ibaddressbook"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAddressBook/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddressBook\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibaddressbook\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"name"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":"?"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibaddressbook\/name"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddressBook\/name","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"姓名,不传手表上显示名字为“未知”"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"name"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":"?"}],"title":"name","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth13IBAddressBookC4nameSSSgvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddressBook"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAddressBook/name":{"role":"symbol","title":"name","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"name"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"姓名,不传手表上显示名字为“未知”"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddressBook\/name","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibaddressbook\/name"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAddressBook":{"role":"symbol","title":"IBAddressBook","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAddressBook"}],"abstract":[{"type":"text","text":"通讯录模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddressBook","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAddressBook"}],"url":"\/documentation\/iotbluetooth\/ibaddressbook"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"phoneNumbers"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneNumber","preciseIdentifier":"s:12IOTBluetooth13IBPhoneNumberC","text":"IBPhoneNumber"},{"kind":"text","text":"]"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibaddressbook\/phonenumbers"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddressBook\/phoneNumbers","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"电话号码,一个联系人名下可有最少1个最多2个电话号码"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"phoneNumbers"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","text":"IBPhoneNumber","preciseIdentifier":"s:12IOTBluetooth13IBPhoneNumberC"},{"kind":"text","text":"]"}],"title":"phoneNumbers","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth13IBAddressBookC12phoneNumbersSayAA13IBPhoneNumberCGvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddressBook"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAddressBook/phoneNumbers":{"role":"symbol","title":"phoneNumbers","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"phoneNumbers"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","text":"IBPhoneNumber","preciseIdentifier":"s:12IOTBluetooth13IBPhoneNumberC"},{"kind":"text","text":"]"}],"abstract":[{"type":"text","text":"电话号码,一个联系人名下可有最少1个最多2个电话号码"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddressBook\/phoneNumbers","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibaddressbook\/phonenumbers"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAddressBook":{"role":"symbol","title":"IBAddressBook","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAddressBook"}],"abstract":[{"type":"text","text":"通讯录模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddressBook","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAddressBook"}],"url":"\/documentation\/iotbluetooth\/ibaddressbook"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPhoneNumber":{"role":"symbol","title":"IBPhoneNumber","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBPhoneNumber"}],"abstract":[{"type":"text","text":"电话号码模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneNumber","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBPhoneNumber"}],"url":"\/documentation\/iotbluetooth\/ibphonenumber"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAiResponse"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibairesponse"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAiResponse","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Ai回应模型"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAiResponse"}],"title":"IBAiResponse","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:12IOTBluetooth12IBAiResponseC","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBAiResponse"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"topicSections":[{"title":"Initializers","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAiResponse\/init()"]},{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAiResponse\/description","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAiResponse\/value"]}],"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAiResponse/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAiResponse\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibairesponse\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAiResponse/value":{"role":"symbol","title":"value","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"value"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"内容"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAiResponse\/value","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibairesponse\/value"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAiResponse":{"role":"symbol","title":"IBAiResponse","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAiResponse"}],"abstract":[{"type":"text","text":"Ai回应模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAiResponse","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAiResponse"}],"url":"\/documentation\/iotbluetooth\/ibairesponse"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAiResponse/description":{"role":"symbol","title":"description","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"description"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAiResponse\/description","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibairesponse\/description"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"description"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":" { "},{"kind":"keyword","text":"get"},{"kind":"text","text":" }"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibairesponse\/description"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAiResponse\/description","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"description"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"title":"description","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth12IBAiResponseC11descriptionSSvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAiResponse"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAiResponse/description":{"role":"symbol","title":"description","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"description"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAiResponse\/description","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibairesponse\/description"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAiResponse":{"role":"symbol","title":"IBAiResponse","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAiResponse"}],"abstract":[{"type":"text","text":"Ai回应模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAiResponse","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAiResponse"}],"url":"\/documentation\/iotbluetooth\/ibairesponse"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"()"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibairesponse\/init()"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAiResponse\/init()","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"title":"init()","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth12IBAiResponseCACycfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAiResponse"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAiResponse/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAiResponse\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibairesponse\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAiResponse":{"role":"symbol","title":"IBAiResponse","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAiResponse"}],"abstract":[{"type":"text","text":"Ai回应模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAiResponse","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAiResponse"}],"url":"\/documentation\/iotbluetooth\/ibairesponse"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"value"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibairesponse\/value"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAiResponse\/value","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"内容"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"value"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"title":"value","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth12IBAiResponseC5valueSSvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAiResponse"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAiResponse":{"role":"symbol","title":"IBAiResponse","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAiResponse"}],"abstract":[{"type":"text","text":"Ai回应模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAiResponse","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAiResponse"}],"url":"\/documentation\/iotbluetooth\/ibairesponse"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAiResponse/value":{"role":"symbol","title":"value","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"value"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"内容"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAiResponse\/value","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibairesponse\/value"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAuxiliary"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibauxiliary"],"traits":[{"interfaceLanguage":"swift"}]}],"relationshipsSections":[{"identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/SQ","doc:\/\/com.thisiot.IOTBluetooth\/SH","doc:\/\/com.thisiot.IOTBluetooth\/SY"],"kind":"relationships","title":"Conforms To","type":"conformsTo"}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary","interfaceLanguage":"swift"},"topicSections":[{"title":"Enumeration Cases","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/bloodOxygen","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/bluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/clock","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/compass","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/heart","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/mobile","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/music","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/record","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/secondTimer","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/setting","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/sleep","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/sport","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/tarinRecord","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/timer","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/train","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/weather"]},{"title":"Initializers","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/init(rawValue:)"]},{"title":"Default Implementations","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/Equatable-Implementations","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/RawRepresentable-Implementations"],"generated":true}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAuxiliary"}],"title":"IBAuxiliary","roleHeading":"Enumeration","role":"symbol","symbolKind":"enum","externalID":"s:12IOTBluetooth11IBAuxiliaryO","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBAuxiliary"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary/init(rawValue:)":{"role":"symbol","title":"init(rawValue:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"?("},{"kind":"externalParam","text":"rawValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/init(rawValue:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibauxiliary\/init(rawvalue:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary/train":{"role":"symbol","title":"IBAuxiliary.train","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"train"}],"abstract":[{"type":"text","text":"训练"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/train","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibauxiliary\/train"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary/weather":{"role":"symbol","title":"IBAuxiliary.weather","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"weather"}],"abstract":[{"type":"text","text":"天气"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/weather","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibauxiliary\/weather"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary/timer":{"role":"symbol","title":"IBAuxiliary.timer","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"timer"}],"abstract":[{"type":"text","text":"计时器"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/timer","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibauxiliary\/timer"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary/sport":{"role":"symbol","title":"IBAuxiliary.sport","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"sport"}],"abstract":[{"type":"text","text":"运动"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/sport","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibauxiliary\/sport"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary/heart":{"role":"symbol","title":"IBAuxiliary.heart","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"heart"}],"abstract":[{"type":"text","text":"心率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/heart","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibauxiliary\/heart"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary/setting":{"role":"symbol","title":"IBAuxiliary.setting","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"setting"}],"abstract":[{"type":"text","text":"设置"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/setting","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibauxiliary\/setting"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary/bloodOxygen":{"role":"symbol","title":"IBAuxiliary.bloodOxygen","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"bloodOxygen"}],"abstract":[{"type":"text","text":"血氧监测"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/bloodOxygen","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibauxiliary\/bloodoxygen"},"doc://com.thisiot.IOTBluetooth/SH":{"type":"unresolvable","title":"Swift.Hashable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/SH"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary/RawRepresentable-Implementations":{"role":"collectionGroup","title":"RawRepresentable Implementations","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/RawRepresentable-Implementations","kind":"article","type":"topic","url":"\/documentation\/iotbluetooth\/ibauxiliary\/rawrepresentable-implementations"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary/tarinRecord":{"role":"symbol","title":"IBAuxiliary.tarinRecord","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"tarinRecord"}],"abstract":[{"type":"text","text":"训练记录"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/tarinRecord","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibauxiliary\/tarinrecord"},"doc://com.thisiot.IOTBluetooth/SQ":{"type":"unresolvable","title":"Swift.Equatable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/SQ"},"doc://com.thisiot.IOTBluetooth/SY":{"type":"unresolvable","title":"Swift.RawRepresentable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/SY"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary":{"role":"symbol","title":"IBAuxiliary","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAuxiliary"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAuxiliary"}],"url":"\/documentation\/iotbluetooth\/ibauxiliary"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary/mobile":{"role":"symbol","title":"IBAuxiliary.mobile","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"mobile"}],"abstract":[{"type":"text","text":"电话"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/mobile","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibauxiliary\/mobile"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary/bluetooth":{"role":"symbol","title":"IBAuxiliary.bluetooth","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"bluetooth"}],"abstract":[{"type":"text","text":"蓝牙"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/bluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibauxiliary\/bluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary/Equatable-Implementations":{"role":"collectionGroup","title":"Equatable Implementations","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/Equatable-Implementations","kind":"article","type":"topic","url":"\/documentation\/iotbluetooth\/ibauxiliary\/equatable-implementations"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary/clock":{"role":"symbol","title":"IBAuxiliary.clock","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"clock"}],"abstract":[{"type":"text","text":"闹钟"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/clock","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibauxiliary\/clock"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary/secondTimer":{"role":"symbol","title":"IBAuxiliary.secondTimer","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"secondTimer"}],"abstract":[{"type":"text","text":"秒表"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/secondTimer","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibauxiliary\/secondtimer"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary/music":{"role":"symbol","title":"IBAuxiliary.music","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"music"}],"abstract":[{"type":"text","text":"音乐"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/music","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibauxiliary\/music"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary/sleep":{"role":"symbol","title":"IBAuxiliary.sleep","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"sleep"}],"abstract":[{"type":"text","text":"睡眠"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/sleep","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibauxiliary\/sleep"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary/compass":{"role":"symbol","title":"IBAuxiliary.compass","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"compass"}],"abstract":[{"type":"text","text":"指南针"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/compass","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibauxiliary\/compass"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary/record":{"role":"symbol","title":"IBAuxiliary.record","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"record"}],"abstract":[{"type":"text","text":"录音"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/record","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibauxiliary\/record"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"!="},{"kind":"text","text":" "},{"kind":"text","text":"("},{"kind":"internalParam","text":"lhs"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":", "},{"kind":"internalParam","text":"rhs"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibauxiliary\/!=(_:_:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/!=(_:_:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"Equatable.!=(_:_:)"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"role":"symbol","title":"!=(_:_:)","roleHeading":"Operator","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"!="},{"kind":"text","text":" "},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":", "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"symbolKind":"op","externalID":"s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:12IOTBluetooth11IBAuxiliaryO","extendedModule":"Swift","modules":[{"name":"IOTBluetooth","relatedModules":["Swift"]}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/Equatable-Implementations"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary/!=(_:_:)":{"role":"symbol","title":"!=(_:_:)","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"!="},{"kind":"text","text":" "},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":", "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/!=(_:_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibauxiliary\/!=(_:_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary":{"role":"symbol","title":"IBAuxiliary","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAuxiliary"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAuxiliary"}],"url":"\/documentation\/iotbluetooth\/ibauxiliary"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary/Equatable-Implementations":{"role":"collectionGroup","title":"Equatable Implementations","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/Equatable-Implementations","kind":"article","type":"topic","url":"\/documentation\/iotbluetooth\/ibauxiliary\/equatable-implementations"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"bloodOxygen"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibauxiliary\/bloodoxygen"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/bloodOxygen","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"血氧监测"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"bloodOxygen"}],"title":"IBAuxiliary.bloodOxygen","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth11IBAuxiliaryO11bloodOxygenyA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary":{"role":"symbol","title":"IBAuxiliary","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAuxiliary"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAuxiliary"}],"url":"\/documentation\/iotbluetooth\/ibauxiliary"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary/bloodOxygen":{"role":"symbol","title":"IBAuxiliary.bloodOxygen","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"bloodOxygen"}],"abstract":[{"type":"text","text":"血氧监测"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/bloodOxygen","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibauxiliary\/bloodoxygen"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"bluetooth"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibauxiliary\/bluetooth"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/bluetooth","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"蓝牙"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"bluetooth"}],"title":"IBAuxiliary.bluetooth","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth11IBAuxiliaryO9bluetoothyA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary/bluetooth":{"role":"symbol","title":"IBAuxiliary.bluetooth","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"bluetooth"}],"abstract":[{"type":"text","text":"蓝牙"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/bluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibauxiliary\/bluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary":{"role":"symbol","title":"IBAuxiliary","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAuxiliary"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAuxiliary"}],"url":"\/documentation\/iotbluetooth\/ibauxiliary"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"clock"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibauxiliary\/clock"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/clock","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"闹钟"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"clock"}],"title":"IBAuxiliary.clock","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth11IBAuxiliaryO5clockyA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary/clock":{"role":"symbol","title":"IBAuxiliary.clock","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"clock"}],"abstract":[{"type":"text","text":"闹钟"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/clock","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibauxiliary\/clock"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary":{"role":"symbol","title":"IBAuxiliary","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAuxiliary"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAuxiliary"}],"url":"\/documentation\/iotbluetooth\/ibauxiliary"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"compass"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibauxiliary\/compass"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/compass","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"指南针"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"compass"}],"title":"IBAuxiliary.compass","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth11IBAuxiliaryO7compassyA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary":{"role":"symbol","title":"IBAuxiliary","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAuxiliary"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAuxiliary"}],"url":"\/documentation\/iotbluetooth\/ibauxiliary"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary/compass":{"role":"symbol","title":"IBAuxiliary.compass","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"compass"}],"abstract":[{"type":"text","text":"指南针"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/compass","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibauxiliary\/compass"}}}
\ No newline at end of file
--- /dev/null
+{"variants":[{"paths":["\/documentation\/iotbluetooth\/ibauxiliary\/equatable-implementations"],"traits":[{"interfaceLanguage":"swift"}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/Equatable-Implementations","interfaceLanguage":"swift"},"topicSections":[{"title":"Operators","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/!=(_:_:)"],"generated":true}],"kind":"article","metadata":{"modules":[{"name":"IOTBluetooth"}],"role":"collectionGroup","title":"Equatable Implementations"},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary":{"role":"symbol","title":"IBAuxiliary","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAuxiliary"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAuxiliary"}],"url":"\/documentation\/iotbluetooth\/ibauxiliary"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary/!=(_:_:)":{"role":"symbol","title":"!=(_:_:)","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"!="},{"kind":"text","text":" "},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":", "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/!=(_:_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibauxiliary\/!=(_:_:)"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"hash"},{"kind":"text","text":"("},{"kind":"externalParam","text":"into"},{"kind":"text","text":" "},{"kind":"internalParam","text":"hasher"},{"kind":"text","text":": "},{"kind":"keyword","text":"inout"},{"kind":"text","text":" "},{"kind":"typeIdentifier","text":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibauxiliary\/hash(into:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/hash(into:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"RawRepresentable.hash(into:)"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"hash(into:)","roleHeading":"Instance Method","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"hash"},{"kind":"text","text":"("},{"kind":"externalParam","text":"into"},{"kind":"text","text":": "},{"kind":"keyword","text":"inout"},{"kind":"text","text":" "},{"kind":"typeIdentifier","text":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","text":")"}],"symbolKind":"method","externalID":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF::SYNTHESIZED::s:12IOTBluetooth11IBAuxiliaryO","extendedModule":"Swift","modules":[{"name":"IOTBluetooth","relatedModules":["Swift"]}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/RawRepresentable-Implementations"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary/RawRepresentable-Implementations":{"role":"collectionGroup","title":"RawRepresentable Implementations","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/RawRepresentable-Implementations","kind":"article","type":"topic","url":"\/documentation\/iotbluetooth\/ibauxiliary\/rawrepresentable-implementations"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary/hash(into:)":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"hash(into:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"hash"},{"kind":"text","text":"("},{"kind":"externalParam","text":"into"},{"kind":"text","text":": "},{"kind":"keyword","text":"inout"},{"kind":"text","text":" "},{"kind":"typeIdentifier","text":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","text":")"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/hash(into:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibauxiliary\/hash(into:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary":{"role":"symbol","title":"IBAuxiliary","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAuxiliary"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAuxiliary"}],"url":"\/documentation\/iotbluetooth\/ibauxiliary"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"hashValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":" { "},{"kind":"keyword","text":"get"},{"kind":"text","text":" }"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibauxiliary\/hashvalue"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/hashValue","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"RawRepresentable.hashValue"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"hashValue","roleHeading":"Instance Property","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"hashValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"symbolKind":"property","externalID":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:12IOTBluetooth11IBAuxiliaryO","extendedModule":"Swift","modules":[{"name":"IOTBluetooth","relatedModules":["Swift"]}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/RawRepresentable-Implementations"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary/RawRepresentable-Implementations":{"role":"collectionGroup","title":"RawRepresentable Implementations","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/RawRepresentable-Implementations","kind":"article","type":"topic","url":"\/documentation\/iotbluetooth\/ibauxiliary\/rawrepresentable-implementations"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary/hashValue":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"hashValue","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"hashValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/hashValue","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibauxiliary\/hashvalue"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary":{"role":"symbol","title":"IBAuxiliary","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAuxiliary"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAuxiliary"}],"url":"\/documentation\/iotbluetooth\/ibauxiliary"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"heart"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibauxiliary\/heart"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/heart","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"心率"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"heart"}],"title":"IBAuxiliary.heart","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth11IBAuxiliaryO5heartyA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary/heart":{"role":"symbol","title":"IBAuxiliary.heart","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"heart"}],"abstract":[{"type":"text","text":"心率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/heart","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibauxiliary\/heart"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary":{"role":"symbol","title":"IBAuxiliary","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAuxiliary"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAuxiliary"}],"url":"\/documentation\/iotbluetooth\/ibauxiliary"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"?("},{"kind":"externalParam","text":"rawValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibauxiliary\/init(rawvalue:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/init(rawValue:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"RawRepresentable.init(rawValue:)"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"?("},{"kind":"externalParam","text":"rawValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}],"title":"init(rawValue:)","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth11IBAuxiliaryO8rawValueACSgSi_tcfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary":{"role":"symbol","title":"IBAuxiliary","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAuxiliary"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAuxiliary"}],"url":"\/documentation\/iotbluetooth\/ibauxiliary"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary/init(rawValue:)":{"role":"symbol","title":"init(rawValue:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"?("},{"kind":"externalParam","text":"rawValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/init(rawValue:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibauxiliary\/init(rawvalue:)"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"mobile"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibauxiliary\/mobile"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/mobile","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"电话"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"mobile"}],"title":"IBAuxiliary.mobile","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth11IBAuxiliaryO6mobileyA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary":{"role":"symbol","title":"IBAuxiliary","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAuxiliary"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAuxiliary"}],"url":"\/documentation\/iotbluetooth\/ibauxiliary"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary/mobile":{"role":"symbol","title":"IBAuxiliary.mobile","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"mobile"}],"abstract":[{"type":"text","text":"电话"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/mobile","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibauxiliary\/mobile"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"music"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibauxiliary\/music"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/music","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"音乐"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"music"}],"title":"IBAuxiliary.music","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth11IBAuxiliaryO5musicyA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary":{"role":"symbol","title":"IBAuxiliary","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAuxiliary"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAuxiliary"}],"url":"\/documentation\/iotbluetooth\/ibauxiliary"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary/music":{"role":"symbol","title":"IBAuxiliary.music","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"music"}],"abstract":[{"type":"text","text":"音乐"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/music","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibauxiliary\/music"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"variants":[{"paths":["\/documentation\/iotbluetooth\/ibauxiliary\/rawrepresentable-implementations"],"traits":[{"interfaceLanguage":"swift"}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/RawRepresentable-Implementations","interfaceLanguage":"swift"},"topicSections":[{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/hashValue"],"generated":true},{"title":"Instance Methods","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/hash(into:)"],"generated":true}],"kind":"article","metadata":{"modules":[{"name":"IOTBluetooth"}],"role":"collectionGroup","title":"RawRepresentable Implementations"},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary/hash(into:)":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"hash(into:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"hash"},{"kind":"text","text":"("},{"kind":"externalParam","text":"into"},{"kind":"text","text":": "},{"kind":"keyword","text":"inout"},{"kind":"text","text":" "},{"kind":"typeIdentifier","text":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","text":")"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/hash(into:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibauxiliary\/hash(into:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary/hashValue":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"hashValue","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"hashValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/hashValue","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibauxiliary\/hashvalue"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary":{"role":"symbol","title":"IBAuxiliary","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAuxiliary"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAuxiliary"}],"url":"\/documentation\/iotbluetooth\/ibauxiliary"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"record"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibauxiliary\/record"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/record","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"录音"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"record"}],"title":"IBAuxiliary.record","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth11IBAuxiliaryO6recordyA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary":{"role":"symbol","title":"IBAuxiliary","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAuxiliary"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAuxiliary"}],"url":"\/documentation\/iotbluetooth\/ibauxiliary"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary/record":{"role":"symbol","title":"IBAuxiliary.record","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"record"}],"abstract":[{"type":"text","text":"录音"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/record","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibauxiliary\/record"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"secondTimer"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibauxiliary\/secondtimer"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/secondTimer","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"秒表"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"secondTimer"}],"title":"IBAuxiliary.secondTimer","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth11IBAuxiliaryO11secondTimeryA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary/secondTimer":{"role":"symbol","title":"IBAuxiliary.secondTimer","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"secondTimer"}],"abstract":[{"type":"text","text":"秒表"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/secondTimer","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibauxiliary\/secondtimer"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary":{"role":"symbol","title":"IBAuxiliary","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAuxiliary"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAuxiliary"}],"url":"\/documentation\/iotbluetooth\/ibauxiliary"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"setting"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibauxiliary\/setting"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/setting","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"设置"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"setting"}],"title":"IBAuxiliary.setting","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth11IBAuxiliaryO7settingyA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary/setting":{"role":"symbol","title":"IBAuxiliary.setting","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"setting"}],"abstract":[{"type":"text","text":"设置"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/setting","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibauxiliary\/setting"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary":{"role":"symbol","title":"IBAuxiliary","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAuxiliary"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAuxiliary"}],"url":"\/documentation\/iotbluetooth\/ibauxiliary"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"sleep"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibauxiliary\/sleep"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/sleep","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"睡眠"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"sleep"}],"title":"IBAuxiliary.sleep","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth11IBAuxiliaryO5sleepyA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary/sleep":{"role":"symbol","title":"IBAuxiliary.sleep","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"sleep"}],"abstract":[{"type":"text","text":"睡眠"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/sleep","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibauxiliary\/sleep"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary":{"role":"symbol","title":"IBAuxiliary","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAuxiliary"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAuxiliary"}],"url":"\/documentation\/iotbluetooth\/ibauxiliary"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"sport"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibauxiliary\/sport"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/sport","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"运动"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"sport"}],"title":"IBAuxiliary.sport","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth11IBAuxiliaryO5sportyA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary":{"role":"symbol","title":"IBAuxiliary","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAuxiliary"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAuxiliary"}],"url":"\/documentation\/iotbluetooth\/ibauxiliary"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary/sport":{"role":"symbol","title":"IBAuxiliary.sport","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"sport"}],"abstract":[{"type":"text","text":"运动"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/sport","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibauxiliary\/sport"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"tarinRecord"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibauxiliary\/tarinrecord"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/tarinRecord","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"训练记录"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"tarinRecord"}],"title":"IBAuxiliary.tarinRecord","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth11IBAuxiliaryO11tarinRecordyA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary/tarinRecord":{"role":"symbol","title":"IBAuxiliary.tarinRecord","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"tarinRecord"}],"abstract":[{"type":"text","text":"训练记录"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/tarinRecord","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibauxiliary\/tarinrecord"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary":{"role":"symbol","title":"IBAuxiliary","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAuxiliary"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAuxiliary"}],"url":"\/documentation\/iotbluetooth\/ibauxiliary"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"timer"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibauxiliary\/timer"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/timer","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"计时器"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"timer"}],"title":"IBAuxiliary.timer","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth11IBAuxiliaryO5timeryA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary":{"role":"symbol","title":"IBAuxiliary","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAuxiliary"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAuxiliary"}],"url":"\/documentation\/iotbluetooth\/ibauxiliary"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary/timer":{"role":"symbol","title":"IBAuxiliary.timer","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"timer"}],"abstract":[{"type":"text","text":"计时器"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/timer","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibauxiliary\/timer"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"train"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibauxiliary\/train"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/train","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"训练"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"train"}],"title":"IBAuxiliary.train","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth11IBAuxiliaryO5trainyA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary":{"role":"symbol","title":"IBAuxiliary","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAuxiliary"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAuxiliary"}],"url":"\/documentation\/iotbluetooth\/ibauxiliary"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary/train":{"role":"symbol","title":"IBAuxiliary.train","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"train"}],"abstract":[{"type":"text","text":"训练"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/train","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibauxiliary\/train"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"weather"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibauxiliary\/weather"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/weather","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"天气"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"weather"}],"title":"IBAuxiliary.weather","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth11IBAuxiliaryO7weatheryA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary":{"role":"symbol","title":"IBAuxiliary","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAuxiliary"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAuxiliary"}],"url":"\/documentation\/iotbluetooth\/ibauxiliary"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary/weather":{"role":"symbol","title":"IBAuxiliary.weather","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"weather"}],"abstract":[{"type":"text","text":"天气"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary\/weather","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibauxiliary\/weather"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBBloodOxygen"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibbloodoxygen"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygen","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"血氧设置模型"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBBloodOxygen"}],"title":"IBBloodOxygen","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:12IOTBluetooth13IBBloodOxygenC","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBBloodOxygen"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"topicSections":[{"title":"Initializers","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygen\/init()"]},{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygen\/rate","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygen\/state","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygen\/value"]}],"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBBloodOxygen/state":{"role":"symbol","title":"state","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"state"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"血氧提醒 0:关闭 1:开启。 为0时后面区间阈值无需设置。"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygen\/state","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibbloodoxygen\/state"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBBloodOxygen/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygen\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibbloodoxygen\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBBloodOxygen":{"role":"symbol","title":"IBBloodOxygen","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBBloodOxygen"}],"abstract":[{"type":"text","text":"血氧设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygen","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBBloodOxygen"}],"url":"\/documentation\/iotbluetooth\/ibbloodoxygen"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBBloodOxygen/rate":{"role":"symbol","title":"rate","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"rate"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBBloodOxygenFrequency","preciseIdentifier":"s:12IOTBluetooth22IBBloodOxygenFrequencyO"}],"abstract":[{"type":"text","text":"监测频率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygen\/rate","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibbloodoxygen\/rate"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBBloodOxygen/value":{"role":"symbol","title":"value","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"value"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"提醒阈值 90~99"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygen\/value","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibbloodoxygen\/value"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"()"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibbloodoxygen\/init()"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygen\/init()","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"title":"init()","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth13IBBloodOxygenCACycfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygen"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBBloodOxygen/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygen\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibbloodoxygen\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBBloodOxygen":{"role":"symbol","title":"IBBloodOxygen","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBBloodOxygen"}],"abstract":[{"type":"text","text":"血氧设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygen","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBBloodOxygen"}],"url":"\/documentation\/iotbluetooth\/ibbloodoxygen"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"rate"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency","preciseIdentifier":"s:12IOTBluetooth22IBBloodOxygenFrequencyO","text":"IBBloodOxygenFrequency"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibbloodoxygen\/rate"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygen\/rate","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"监测频率"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"rate"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBBloodOxygenFrequency","preciseIdentifier":"s:12IOTBluetooth22IBBloodOxygenFrequencyO"}],"title":"rate","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth13IBBloodOxygenC4rateAA0bC9FrequencyOvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygen"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBBloodOxygenFrequency":{"role":"symbol","title":"IBBloodOxygenFrequency","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBBloodOxygenFrequency"}],"abstract":[{"type":"text","text":"血氧监测频率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBBloodOxygenFrequency"}],"url":"\/documentation\/iotbluetooth\/ibbloodoxygenfrequency"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBBloodOxygen":{"role":"symbol","title":"IBBloodOxygen","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBBloodOxygen"}],"abstract":[{"type":"text","text":"血氧设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygen","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBBloodOxygen"}],"url":"\/documentation\/iotbluetooth\/ibbloodoxygen"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBBloodOxygen/rate":{"role":"symbol","title":"rate","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"rate"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBBloodOxygenFrequency","preciseIdentifier":"s:12IOTBluetooth22IBBloodOxygenFrequencyO"}],"abstract":[{"type":"text","text":"监测频率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygen\/rate","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibbloodoxygen\/rate"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"state"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibbloodoxygen\/state"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygen\/state","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"血氧提醒 0:关闭 1:开启。 为0时后面区间阈值无需设置。"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"state"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"state","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth13IBBloodOxygenC5stateSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygen"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBBloodOxygen":{"role":"symbol","title":"IBBloodOxygen","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBBloodOxygen"}],"abstract":[{"type":"text","text":"血氧设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygen","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBBloodOxygen"}],"url":"\/documentation\/iotbluetooth\/ibbloodoxygen"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBBloodOxygen/state":{"role":"symbol","title":"state","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"state"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"血氧提醒 0:关闭 1:开启。 为0时后面区间阈值无需设置。"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygen\/state","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibbloodoxygen\/state"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"value"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibbloodoxygen\/value"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygen\/value","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"提醒阈值 90~99"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"value"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"value","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth13IBBloodOxygenC5valueSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygen"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBBloodOxygen/value":{"role":"symbol","title":"value","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"value"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"提醒阈值 90~99"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygen\/value","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibbloodoxygen\/value"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBBloodOxygen":{"role":"symbol","title":"IBBloodOxygen","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBBloodOxygen"}],"abstract":[{"type":"text","text":"血氧设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygen","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBBloodOxygen"}],"url":"\/documentation\/iotbluetooth\/ibbloodoxygen"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBBloodOxygenFrequency"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibbloodoxygenfrequency"],"traits":[{"interfaceLanguage":"swift"}]}],"relationshipsSections":[{"identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/SQ","doc:\/\/com.thisiot.IOTBluetooth\/SH","doc:\/\/com.thisiot.IOTBluetooth\/SY"],"kind":"relationships","title":"Conforms To","type":"conformsTo"}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"血氧监测频率"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBBloodOxygenFrequency"}],"title":"IBBloodOxygenFrequency","roleHeading":"Enumeration","role":"symbol","symbolKind":"enum","externalID":"s:12IOTBluetooth22IBBloodOxygenFrequencyO","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBBloodOxygenFrequency"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"topicSections":[{"title":"Enumeration Cases","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency\/hour1","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency\/hour2","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency\/min30","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency\/none"]},{"title":"Initializers","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency\/init(rawValue:)"]},{"title":"Default Implementations","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency\/Equatable-Implementations","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency\/RawRepresentable-Implementations"],"generated":true}],"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBBloodOxygenFrequency/Equatable-Implementations":{"role":"collectionGroup","title":"Equatable Implementations","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency\/Equatable-Implementations","kind":"article","type":"topic","url":"\/documentation\/iotbluetooth\/ibbloodoxygenfrequency\/equatable-implementations"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBBloodOxygenFrequency/hour1":{"role":"symbol","title":"IBBloodOxygenFrequency.hour1","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"hour1"}],"abstract":[{"type":"text","text":"1小时"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency\/hour1","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibbloodoxygenfrequency\/hour1"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBBloodOxygenFrequency/init(rawValue:)":{"role":"symbol","title":"init(rawValue:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"?("},{"kind":"externalParam","text":"rawValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency\/init(rawValue:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibbloodoxygenfrequency\/init(rawvalue:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBBloodOxygenFrequency/RawRepresentable-Implementations":{"role":"collectionGroup","title":"RawRepresentable Implementations","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency\/RawRepresentable-Implementations","kind":"article","type":"topic","url":"\/documentation\/iotbluetooth\/ibbloodoxygenfrequency\/rawrepresentable-implementations"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBBloodOxygenFrequency":{"role":"symbol","title":"IBBloodOxygenFrequency","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBBloodOxygenFrequency"}],"abstract":[{"type":"text","text":"血氧监测频率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBBloodOxygenFrequency"}],"url":"\/documentation\/iotbluetooth\/ibbloodoxygenfrequency"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBBloodOxygenFrequency/hour2":{"role":"symbol","title":"IBBloodOxygenFrequency.hour2","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"hour2"}],"abstract":[{"type":"text","text":"2小时"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency\/hour2","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibbloodoxygenfrequency\/hour2"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBBloodOxygenFrequency/min30":{"role":"symbol","title":"IBBloodOxygenFrequency.min30","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"min30"}],"abstract":[{"type":"text","text":"30分钟"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency\/min30","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibbloodoxygenfrequency\/min30"},"doc://com.thisiot.IOTBluetooth/SY":{"type":"unresolvable","title":"Swift.RawRepresentable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/SY"},"doc://com.thisiot.IOTBluetooth/SH":{"type":"unresolvable","title":"Swift.Hashable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/SH"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBBloodOxygenFrequency/none":{"role":"symbol","title":"IBBloodOxygenFrequency.none","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"none"}],"abstract":[{"type":"text","text":"关闭"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency\/none","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibbloodoxygenfrequency\/none"},"doc://com.thisiot.IOTBluetooth/SQ":{"type":"unresolvable","title":"Swift.Equatable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/SQ"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"!="},{"kind":"text","text":" "},{"kind":"text","text":"("},{"kind":"internalParam","text":"lhs"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":", "},{"kind":"internalParam","text":"rhs"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibbloodoxygenfrequency\/!=(_:_:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency\/!=(_:_:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"Equatable.!=(_:_:)"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"role":"symbol","title":"!=(_:_:)","roleHeading":"Operator","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"!="},{"kind":"text","text":" "},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":", "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"symbolKind":"op","externalID":"s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:12IOTBluetooth22IBBloodOxygenFrequencyO","extendedModule":"Swift","modules":[{"name":"IOTBluetooth","relatedModules":["Swift"]}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency\/Equatable-Implementations"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBBloodOxygenFrequency/Equatable-Implementations":{"role":"collectionGroup","title":"Equatable Implementations","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency\/Equatable-Implementations","kind":"article","type":"topic","url":"\/documentation\/iotbluetooth\/ibbloodoxygenfrequency\/equatable-implementations"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBBloodOxygenFrequency":{"role":"symbol","title":"IBBloodOxygenFrequency","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBBloodOxygenFrequency"}],"abstract":[{"type":"text","text":"血氧监测频率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBBloodOxygenFrequency"}],"url":"\/documentation\/iotbluetooth\/ibbloodoxygenfrequency"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBBloodOxygenFrequency/!=(_:_:)":{"role":"symbol","title":"!=(_:_:)","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"!="},{"kind":"text","text":" "},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":", "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency\/!=(_:_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibbloodoxygenfrequency\/!=(_:_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"variants":[{"paths":["\/documentation\/iotbluetooth\/ibbloodoxygenfrequency\/equatable-implementations"],"traits":[{"interfaceLanguage":"swift"}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency\/Equatable-Implementations","interfaceLanguage":"swift"},"topicSections":[{"title":"Operators","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency\/!=(_:_:)"],"generated":true}],"kind":"article","metadata":{"modules":[{"name":"IOTBluetooth"}],"role":"collectionGroup","title":"Equatable Implementations"},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBBloodOxygenFrequency":{"role":"symbol","title":"IBBloodOxygenFrequency","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBBloodOxygenFrequency"}],"abstract":[{"type":"text","text":"血氧监测频率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBBloodOxygenFrequency"}],"url":"\/documentation\/iotbluetooth\/ibbloodoxygenfrequency"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBBloodOxygenFrequency/!=(_:_:)":{"role":"symbol","title":"!=(_:_:)","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"!="},{"kind":"text","text":" "},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":", "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency\/!=(_:_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibbloodoxygenfrequency\/!=(_:_:)"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"hash"},{"kind":"text","text":"("},{"kind":"externalParam","text":"into"},{"kind":"text","text":" "},{"kind":"internalParam","text":"hasher"},{"kind":"text","text":": "},{"kind":"keyword","text":"inout"},{"kind":"text","text":" "},{"kind":"typeIdentifier","text":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibbloodoxygenfrequency\/hash(into:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency\/hash(into:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"RawRepresentable.hash(into:)"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"hash(into:)","roleHeading":"Instance Method","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"hash"},{"kind":"text","text":"("},{"kind":"externalParam","text":"into"},{"kind":"text","text":": "},{"kind":"keyword","text":"inout"},{"kind":"text","text":" "},{"kind":"typeIdentifier","text":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","text":")"}],"symbolKind":"method","externalID":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF::SYNTHESIZED::s:12IOTBluetooth22IBBloodOxygenFrequencyO","extendedModule":"Swift","modules":[{"name":"IOTBluetooth","relatedModules":["Swift"]}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency\/RawRepresentable-Implementations"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBBloodOxygenFrequency":{"role":"symbol","title":"IBBloodOxygenFrequency","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBBloodOxygenFrequency"}],"abstract":[{"type":"text","text":"血氧监测频率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBBloodOxygenFrequency"}],"url":"\/documentation\/iotbluetooth\/ibbloodoxygenfrequency"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBBloodOxygenFrequency/RawRepresentable-Implementations":{"role":"collectionGroup","title":"RawRepresentable Implementations","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency\/RawRepresentable-Implementations","kind":"article","type":"topic","url":"\/documentation\/iotbluetooth\/ibbloodoxygenfrequency\/rawrepresentable-implementations"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBBloodOxygenFrequency/hash(into:)":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"hash(into:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"hash"},{"kind":"text","text":"("},{"kind":"externalParam","text":"into"},{"kind":"text","text":": "},{"kind":"keyword","text":"inout"},{"kind":"text","text":" "},{"kind":"typeIdentifier","text":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","text":")"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency\/hash(into:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibbloodoxygenfrequency\/hash(into:)"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"hashValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":" { "},{"kind":"keyword","text":"get"},{"kind":"text","text":" }"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibbloodoxygenfrequency\/hashvalue"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency\/hashValue","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"RawRepresentable.hashValue"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"hashValue","roleHeading":"Instance Property","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"hashValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"symbolKind":"property","externalID":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:12IOTBluetooth22IBBloodOxygenFrequencyO","extendedModule":"Swift","modules":[{"name":"IOTBluetooth","relatedModules":["Swift"]}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency\/RawRepresentable-Implementations"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBBloodOxygenFrequency/hashValue":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"hashValue","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"hashValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency\/hashValue","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibbloodoxygenfrequency\/hashvalue"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBBloodOxygenFrequency/RawRepresentable-Implementations":{"role":"collectionGroup","title":"RawRepresentable Implementations","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency\/RawRepresentable-Implementations","kind":"article","type":"topic","url":"\/documentation\/iotbluetooth\/ibbloodoxygenfrequency\/rawrepresentable-implementations"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBBloodOxygenFrequency":{"role":"symbol","title":"IBBloodOxygenFrequency","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBBloodOxygenFrequency"}],"abstract":[{"type":"text","text":"血氧监测频率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBBloodOxygenFrequency"}],"url":"\/documentation\/iotbluetooth\/ibbloodoxygenfrequency"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"hour1"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibbloodoxygenfrequency\/hour1"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency\/hour1","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"1小时"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"hour1"}],"title":"IBBloodOxygenFrequency.hour1","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth22IBBloodOxygenFrequencyO5hour1yA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBBloodOxygenFrequency/hour1":{"role":"symbol","title":"IBBloodOxygenFrequency.hour1","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"hour1"}],"abstract":[{"type":"text","text":"1小时"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency\/hour1","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibbloodoxygenfrequency\/hour1"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBBloodOxygenFrequency":{"role":"symbol","title":"IBBloodOxygenFrequency","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBBloodOxygenFrequency"}],"abstract":[{"type":"text","text":"血氧监测频率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBBloodOxygenFrequency"}],"url":"\/documentation\/iotbluetooth\/ibbloodoxygenfrequency"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"hour2"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibbloodoxygenfrequency\/hour2"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency\/hour2","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"2小时"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"hour2"}],"title":"IBBloodOxygenFrequency.hour2","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth22IBBloodOxygenFrequencyO5hour2yA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBBloodOxygenFrequency/hour2":{"role":"symbol","title":"IBBloodOxygenFrequency.hour2","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"hour2"}],"abstract":[{"type":"text","text":"2小时"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency\/hour2","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibbloodoxygenfrequency\/hour2"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBBloodOxygenFrequency":{"role":"symbol","title":"IBBloodOxygenFrequency","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBBloodOxygenFrequency"}],"abstract":[{"type":"text","text":"血氧监测频率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBBloodOxygenFrequency"}],"url":"\/documentation\/iotbluetooth\/ibbloodoxygenfrequency"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"?("},{"kind":"externalParam","text":"rawValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibbloodoxygenfrequency\/init(rawvalue:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency\/init(rawValue:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"RawRepresentable.init(rawValue:)"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"?("},{"kind":"externalParam","text":"rawValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}],"title":"init(rawValue:)","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth22IBBloodOxygenFrequencyO8rawValueACSgSi_tcfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBBloodOxygenFrequency":{"role":"symbol","title":"IBBloodOxygenFrequency","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBBloodOxygenFrequency"}],"abstract":[{"type":"text","text":"血氧监测频率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBBloodOxygenFrequency"}],"url":"\/documentation\/iotbluetooth\/ibbloodoxygenfrequency"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBBloodOxygenFrequency/init(rawValue:)":{"role":"symbol","title":"init(rawValue:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"?("},{"kind":"externalParam","text":"rawValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency\/init(rawValue:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibbloodoxygenfrequency\/init(rawvalue:)"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"min30"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibbloodoxygenfrequency\/min30"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency\/min30","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"30分钟"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"min30"}],"title":"IBBloodOxygenFrequency.min30","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth22IBBloodOxygenFrequencyO5min30yA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBBloodOxygenFrequency/min30":{"role":"symbol","title":"IBBloodOxygenFrequency.min30","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"min30"}],"abstract":[{"type":"text","text":"30分钟"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency\/min30","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibbloodoxygenfrequency\/min30"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBBloodOxygenFrequency":{"role":"symbol","title":"IBBloodOxygenFrequency","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBBloodOxygenFrequency"}],"abstract":[{"type":"text","text":"血氧监测频率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBBloodOxygenFrequency"}],"url":"\/documentation\/iotbluetooth\/ibbloodoxygenfrequency"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"none"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibbloodoxygenfrequency\/none"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency\/none","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"关闭"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"none"}],"title":"IBBloodOxygenFrequency.none","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth22IBBloodOxygenFrequencyO4noneyA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBBloodOxygenFrequency":{"role":"symbol","title":"IBBloodOxygenFrequency","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBBloodOxygenFrequency"}],"abstract":[{"type":"text","text":"血氧监测频率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBBloodOxygenFrequency"}],"url":"\/documentation\/iotbluetooth\/ibbloodoxygenfrequency"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBBloodOxygenFrequency/none":{"role":"symbol","title":"IBBloodOxygenFrequency.none","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"none"}],"abstract":[{"type":"text","text":"关闭"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency\/none","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibbloodoxygenfrequency\/none"}}}
\ No newline at end of file
--- /dev/null
+{"variants":[{"paths":["\/documentation\/iotbluetooth\/ibbloodoxygenfrequency\/rawrepresentable-implementations"],"traits":[{"interfaceLanguage":"swift"}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency\/RawRepresentable-Implementations","interfaceLanguage":"swift"},"topicSections":[{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency\/hashValue"],"generated":true},{"title":"Instance Methods","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency\/hash(into:)"],"generated":true}],"kind":"article","metadata":{"modules":[{"name":"IOTBluetooth"}],"role":"collectionGroup","title":"RawRepresentable Implementations"},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBBloodOxygenFrequency":{"role":"symbol","title":"IBBloodOxygenFrequency","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBBloodOxygenFrequency"}],"abstract":[{"type":"text","text":"血氧监测频率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBBloodOxygenFrequency"}],"url":"\/documentation\/iotbluetooth\/ibbloodoxygenfrequency"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBBloodOxygenFrequency/hashValue":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"hashValue","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"hashValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency\/hashValue","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibbloodoxygenfrequency\/hashvalue"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBBloodOxygenFrequency/hash(into:)":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"hash(into:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"hash"},{"kind":"text","text":"("},{"kind":"externalParam","text":"into"},{"kind":"text","text":": "},{"kind":"keyword","text":"inout"},{"kind":"text","text":" "},{"kind":"typeIdentifier","text":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","text":")"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygenFrequency\/hash(into:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibbloodoxygenfrequency\/hash(into:)"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBClock"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibclock"],"traits":[{"interfaceLanguage":"swift"}]}],"relationshipsSections":[{"identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/Se","doc:\/\/com.thisiot.IOTBluetooth\/SE"],"kind":"relationships","title":"Conforms To","type":"conformsTo"}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClock","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"闹钟模型"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBClock"}],"title":"IBClock","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:12IOTBluetooth7IBClockC","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBClock"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"topicSections":[{"title":"Initializers","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClock\/init()","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClock\/init(from:)"]},{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClock\/alarms"]}],"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBClock/alarms":{"role":"symbol","title":"alarms","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"alarms"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","text":"IBClockInfo","preciseIdentifier":"s:12IOTBluetooth11IBClockInfoC"},{"kind":"text","text":"]"}],"abstract":[{"type":"text","text":"闹钟列表"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClock\/alarms","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibclock\/alarms"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBClock/init(from:)":{"role":"symbol","title":"init(from:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClock\/init(from:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibclock\/init(from:)"},"doc://com.thisiot.IOTBluetooth/SE":{"type":"unresolvable","title":"Swift.Encodable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/SE"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBClock":{"role":"symbol","title":"IBClock","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBClock"}],"abstract":[{"type":"text","text":"闹钟模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClock","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBClock"}],"url":"\/documentation\/iotbluetooth\/ibclock"},"doc://com.thisiot.IOTBluetooth/Se":{"type":"unresolvable","title":"Swift.Decodable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/Se"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBClock/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClock\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibclock\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"alarms"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClockInfo","preciseIdentifier":"s:12IOTBluetooth11IBClockInfoC","text":"IBClockInfo"},{"kind":"text","text":"]"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibclock\/alarms"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClock\/alarms","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"闹钟列表"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"alarms"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","text":"IBClockInfo","preciseIdentifier":"s:12IOTBluetooth11IBClockInfoC"},{"kind":"text","text":"]"}],"title":"alarms","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth7IBClockC6alarmsSayAA0B4InfoCGvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClock"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBClock":{"role":"symbol","title":"IBClock","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBClock"}],"abstract":[{"type":"text","text":"闹钟模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClock","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBClock"}],"url":"\/documentation\/iotbluetooth\/ibclock"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBClockInfo":{"role":"symbol","title":"IBClockInfo","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBClockInfo"}],"abstract":[{"type":"text","text":"闹钟信息模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClockInfo","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBClockInfo"}],"url":"\/documentation\/iotbluetooth\/ibclockinfo"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBClock/alarms":{"role":"symbol","title":"alarms","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"alarms"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","text":"IBClockInfo","preciseIdentifier":"s:12IOTBluetooth11IBClockInfoC"},{"kind":"text","text":"]"}],"abstract":[{"type":"text","text":"闹钟列表"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClock\/alarms","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibclock\/alarms"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"()"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibclock\/init()"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClock\/init()","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"title":"init()","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth7IBClockCACycfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClock"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBClock":{"role":"symbol","title":"IBClock","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBClock"}],"abstract":[{"type":"text","text":"闹钟模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClock","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBClock"}],"url":"\/documentation\/iotbluetooth\/ibclock"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBClock/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClock\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibclock\/init()"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":" "},{"kind":"internalParam","text":"decoder"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibclock\/init(from:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClock\/init(from:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"Decodable.init(from:)"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"title":"init(from:)","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth7IBClockC4fromACs7Decoder_p_tKcfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClock"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBClock":{"role":"symbol","title":"IBClock","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBClock"}],"abstract":[{"type":"text","text":"闹钟模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClock","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBClock"}],"url":"\/documentation\/iotbluetooth\/ibclock"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBClock/init(from:)":{"role":"symbol","title":"init(from:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClock\/init(from:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibclock\/init(from:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBClockInfo"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibclockinfo"],"traits":[{"interfaceLanguage":"swift"}]}],"relationshipsSections":[{"identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/Se","doc:\/\/com.thisiot.IOTBluetooth\/SE"],"kind":"relationships","title":"Conforms To","type":"conformsTo"}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClockInfo","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"闹钟信息模型"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBClockInfo"}],"title":"IBClockInfo","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:12IOTBluetooth11IBClockInfoC","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBClockInfo"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"topicSections":[{"title":"Initializers","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClockInfo\/init()","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClockInfo\/init(from:)"]},{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClockInfo\/enable","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClockInfo\/hour","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClockInfo\/id","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClockInfo\/minute","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClockInfo\/repeat"]}],"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBClockInfo":{"role":"symbol","title":"IBClockInfo","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBClockInfo"}],"abstract":[{"type":"text","text":"闹钟信息模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClockInfo","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBClockInfo"}],"url":"\/documentation\/iotbluetooth\/ibclockinfo"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBClockInfo/init(from:)":{"role":"symbol","title":"init(from:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClockInfo\/init(from:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibclockinfo\/init(from:)"},"doc://com.thisiot.IOTBluetooth/SE":{"type":"unresolvable","title":"Swift.Encodable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/SE"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBClockInfo/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClockInfo\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibclockinfo\/init()"},"doc://com.thisiot.IOTBluetooth/Se":{"type":"unresolvable","title":"Swift.Decodable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/Se"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBClockInfo/minute":{"role":"symbol","title":"minute","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"minute"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"分钟"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClockInfo\/minute","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibclockinfo\/minute"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBClockInfo/enable":{"role":"symbol","title":"enable","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"enable"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"0关闭闹钟,1开启闹钟"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClockInfo\/enable","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibclockinfo\/enable"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBClockInfo/id":{"role":"symbol","title":"id","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"id"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"闹钟id 范围为0~4. (即闹钟暂定最多设置为5个)"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClockInfo\/id","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibclockinfo\/id"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBClockInfo/repeat":{"role":"symbol","title":"repeat","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"`repeat`"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"]"}],"abstract":[{"type":"text","text":"闹钟重复列表"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClockInfo\/repeat","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibclockinfo\/repeat"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBClockInfo/hour":{"role":"symbol","title":"hour","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"hour"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"小时"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClockInfo\/hour","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibclockinfo\/hour"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"enable"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibclockinfo\/enable"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClockInfo\/enable","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"0关闭闹钟,1开启闹钟"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"enable"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"enable","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth11IBClockInfoC6enableSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClockInfo"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBClockInfo":{"role":"symbol","title":"IBClockInfo","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBClockInfo"}],"abstract":[{"type":"text","text":"闹钟信息模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClockInfo","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBClockInfo"}],"url":"\/documentation\/iotbluetooth\/ibclockinfo"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBClockInfo/enable":{"role":"symbol","title":"enable","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"enable"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"0关闭闹钟,1开启闹钟"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClockInfo\/enable","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibclockinfo\/enable"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"hour"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibclockinfo\/hour"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClockInfo\/hour","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"小时"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"hour"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"hour","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth11IBClockInfoC4hourSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClockInfo"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBClockInfo":{"role":"symbol","title":"IBClockInfo","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBClockInfo"}],"abstract":[{"type":"text","text":"闹钟信息模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClockInfo","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBClockInfo"}],"url":"\/documentation\/iotbluetooth\/ibclockinfo"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBClockInfo/hour":{"role":"symbol","title":"hour","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"hour"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"小时"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClockInfo\/hour","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibclockinfo\/hour"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"id"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibclockinfo\/id"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClockInfo\/id","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"闹钟id 范围为0~4. (即闹钟暂定最多设置为5个)"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"id"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"id","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth11IBClockInfoC2idSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClockInfo"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBClockInfo/id":{"role":"symbol","title":"id","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"id"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"闹钟id 范围为0~4. (即闹钟暂定最多设置为5个)"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClockInfo\/id","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibclockinfo\/id"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBClockInfo":{"role":"symbol","title":"IBClockInfo","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBClockInfo"}],"abstract":[{"type":"text","text":"闹钟信息模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClockInfo","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBClockInfo"}],"url":"\/documentation\/iotbluetooth\/ibclockinfo"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"()"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibclockinfo\/init()"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClockInfo\/init()","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"title":"init()","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth11IBClockInfoCACycfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClockInfo"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBClockInfo/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClockInfo\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibclockinfo\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBClockInfo":{"role":"symbol","title":"IBClockInfo","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBClockInfo"}],"abstract":[{"type":"text","text":"闹钟信息模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClockInfo","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBClockInfo"}],"url":"\/documentation\/iotbluetooth\/ibclockinfo"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":" "},{"kind":"internalParam","text":"decoder"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibclockinfo\/init(from:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClockInfo\/init(from:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"Decodable.init(from:)"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"title":"init(from:)","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth11IBClockInfoC4fromACs7Decoder_p_tKcfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClockInfo"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBClockInfo":{"role":"symbol","title":"IBClockInfo","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBClockInfo"}],"abstract":[{"type":"text","text":"闹钟信息模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClockInfo","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBClockInfo"}],"url":"\/documentation\/iotbluetooth\/ibclockinfo"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBClockInfo/init(from:)":{"role":"symbol","title":"init(from:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClockInfo\/init(from:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibclockinfo\/init(from:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"minute"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibclockinfo\/minute"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClockInfo\/minute","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"分钟"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"minute"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"minute","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth11IBClockInfoC6minuteSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClockInfo"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBClockInfo/minute":{"role":"symbol","title":"minute","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"minute"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"分钟"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClockInfo\/minute","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibclockinfo\/minute"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBClockInfo":{"role":"symbol","title":"IBClockInfo","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBClockInfo"}],"abstract":[{"type":"text","text":"闹钟信息模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClockInfo","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBClockInfo"}],"url":"\/documentation\/iotbluetooth\/ibclockinfo"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"`repeat`"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"]"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"content","content":[{"anchor":"discussion","level":2,"type":"heading","text":"Discussion"},{"type":"unorderedList","items":[{"content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"0 不重复,响一次"}]}]},{"content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"1 周一"}]}]},{"content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"2 周二"}]}]},{"content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"……"}]}]},{"content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"7 周日"}]}]}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibclockinfo\/repeat"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClockInfo\/repeat","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"闹钟重复列表"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"`repeat`"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"]"}],"title":"repeat","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth11IBClockInfoC6repeatSaySiGvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClockInfo"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBClockInfo/repeat":{"role":"symbol","title":"repeat","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"`repeat`"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"]"}],"abstract":[{"type":"text","text":"闹钟重复列表"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClockInfo\/repeat","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibclockinfo\/repeat"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBClockInfo":{"role":"symbol","title":"IBClockInfo","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBClockInfo"}],"abstract":[{"type":"text","text":"闹钟信息模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClockInfo","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBClockInfo"}],"url":"\/documentation\/iotbluetooth\/ibclockinfo"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBCode"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibcode"],"traits":[{"interfaceLanguage":"swift"}]}],"relationshipsSections":[{"identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/s23CustomStringConvertibleP","doc:\/\/com.thisiot.IOTBluetooth\/SQ","doc:\/\/com.thisiot.IOTBluetooth\/SH","doc:\/\/com.thisiot.IOTBluetooth\/SY"],"kind":"relationships","title":"Conforms To","type":"conformsTo"}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"状态码"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBCode"}],"title":"IBCode","roleHeading":"Enumeration","role":"symbol","symbolKind":"enum","externalID":"s:12IOTBluetooth6IBCodeO","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBCode"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"topicSections":[{"title":"Enumeration Cases","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode\/failure","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode\/invalidParam","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode\/parseError","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode\/success","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode\/timeout","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode\/unknow"]},{"title":"Initializers","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode\/init(rawValue:)"]},{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode\/description"]},{"title":"Default Implementations","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode\/Equatable-Implementations","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode\/RawRepresentable-Implementations"],"generated":true}],"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBCode":{"role":"symbol","title":"IBCode","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBCode"}],"abstract":[{"type":"text","text":"状态码"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBCode"}],"url":"\/documentation\/iotbluetooth\/ibcode"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBCode/invalidParam":{"role":"symbol","title":"IBCode.invalidParam","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"invalidParam"}],"abstract":[{"type":"text","text":"参数错误"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode\/invalidParam","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibcode\/invalidparam"},"doc://com.thisiot.IOTBluetooth/SY":{"type":"unresolvable","title":"Swift.RawRepresentable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/SY"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBCode/RawRepresentable-Implementations":{"role":"collectionGroup","title":"RawRepresentable Implementations","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode\/RawRepresentable-Implementations","kind":"article","type":"topic","url":"\/documentation\/iotbluetooth\/ibcode\/rawrepresentable-implementations"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBCode/failure":{"role":"symbol","title":"IBCode.failure","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"failure"}],"abstract":[{"type":"text","text":"操作失败"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode\/failure","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibcode\/failure"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBCode/Equatable-Implementations":{"role":"collectionGroup","title":"Equatable Implementations","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode\/Equatable-Implementations","kind":"article","type":"topic","url":"\/documentation\/iotbluetooth\/ibcode\/equatable-implementations"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBCode/description":{"role":"symbol","title":"description","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"description"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode\/description","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibcode\/description"},"doc://com.thisiot.IOTBluetooth/SQ":{"type":"unresolvable","title":"Swift.Equatable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/SQ"},"doc://com.thisiot.IOTBluetooth/s23CustomStringConvertibleP":{"type":"unresolvable","title":"Swift.CustomStringConvertible","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/s23CustomStringConvertibleP"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBCode/parseError":{"role":"symbol","title":"IBCode.parseError","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"parseError"}],"abstract":[{"type":"text","text":"解析错误"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode\/parseError","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibcode\/parseerror"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBCode/success":{"role":"symbol","title":"IBCode.success","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"success"}],"abstract":[{"type":"text","text":"操作成功"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode\/success","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibcode\/success"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBCode/unknow":{"role":"symbol","title":"IBCode.unknow","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"unknow"}],"abstract":[{"type":"text","text":"未知错误"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode\/unknow","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibcode\/unknow"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBCode/timeout":{"role":"symbol","title":"IBCode.timeout","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"timeout"}],"abstract":[{"type":"text","text":"请求超时"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode\/timeout","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibcode\/timeout"},"doc://com.thisiot.IOTBluetooth/SH":{"type":"unresolvable","title":"Swift.Hashable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/SH"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBCode/init(rawValue:)":{"role":"symbol","title":"init(rawValue:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"?("},{"kind":"externalParam","text":"rawValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode\/init(rawValue:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibcode\/init(rawvalue:)"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"!="},{"kind":"text","text":" "},{"kind":"text","text":"("},{"kind":"internalParam","text":"lhs"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":", "},{"kind":"internalParam","text":"rhs"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibcode\/!=(_:_:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode\/!=(_:_:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"Equatable.!=(_:_:)"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"role":"symbol","title":"!=(_:_:)","roleHeading":"Operator","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"!="},{"kind":"text","text":" "},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":", "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"symbolKind":"op","externalID":"s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:12IOTBluetooth6IBCodeO","extendedModule":"Swift","modules":[{"name":"IOTBluetooth","relatedModules":["Swift"]}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode\/Equatable-Implementations"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBCode/Equatable-Implementations":{"role":"collectionGroup","title":"Equatable Implementations","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode\/Equatable-Implementations","kind":"article","type":"topic","url":"\/documentation\/iotbluetooth\/ibcode\/equatable-implementations"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBCode/!=(_:_:)":{"role":"symbol","title":"!=(_:_:)","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"!="},{"kind":"text","text":" "},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":", "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode\/!=(_:_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibcode\/!=(_:_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBCode":{"role":"symbol","title":"IBCode","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBCode"}],"abstract":[{"type":"text","text":"状态码"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBCode"}],"url":"\/documentation\/iotbluetooth\/ibcode"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"description"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":" { "},{"kind":"keyword","text":"get"},{"kind":"text","text":" }"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibcode\/description"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode\/description","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"CustomStringConvertible.description"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"description"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"title":"description","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth6IBCodeO11descriptionSSvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBCode/description":{"role":"symbol","title":"description","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"description"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode\/description","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibcode\/description"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBCode":{"role":"symbol","title":"IBCode","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBCode"}],"abstract":[{"type":"text","text":"状态码"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBCode"}],"url":"\/documentation\/iotbluetooth\/ibcode"}}}
\ No newline at end of file
--- /dev/null
+{"variants":[{"paths":["\/documentation\/iotbluetooth\/ibcode\/equatable-implementations"],"traits":[{"interfaceLanguage":"swift"}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode\/Equatable-Implementations","interfaceLanguage":"swift"},"topicSections":[{"title":"Operators","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode\/!=(_:_:)"],"generated":true}],"kind":"article","metadata":{"modules":[{"name":"IOTBluetooth"}],"role":"collectionGroup","title":"Equatable Implementations"},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBCode":{"role":"symbol","title":"IBCode","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBCode"}],"abstract":[{"type":"text","text":"状态码"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBCode"}],"url":"\/documentation\/iotbluetooth\/ibcode"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBCode/!=(_:_:)":{"role":"symbol","title":"!=(_:_:)","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"!="},{"kind":"text","text":" "},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":", "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode\/!=(_:_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibcode\/!=(_:_:)"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"failure"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibcode\/failure"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode\/failure","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"操作失败"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"failure"}],"title":"IBCode.failure","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth6IBCodeO7failureyA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBCode/failure":{"role":"symbol","title":"IBCode.failure","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"failure"}],"abstract":[{"type":"text","text":"操作失败"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode\/failure","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibcode\/failure"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBCode":{"role":"symbol","title":"IBCode","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBCode"}],"abstract":[{"type":"text","text":"状态码"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBCode"}],"url":"\/documentation\/iotbluetooth\/ibcode"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"hash"},{"kind":"text","text":"("},{"kind":"externalParam","text":"into"},{"kind":"text","text":" "},{"kind":"internalParam","text":"hasher"},{"kind":"text","text":": "},{"kind":"keyword","text":"inout"},{"kind":"text","text":" "},{"kind":"typeIdentifier","text":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibcode\/hash(into:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode\/hash(into:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"RawRepresentable.hash(into:)"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"hash(into:)","roleHeading":"Instance Method","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"hash"},{"kind":"text","text":"("},{"kind":"externalParam","text":"into"},{"kind":"text","text":": "},{"kind":"keyword","text":"inout"},{"kind":"text","text":" "},{"kind":"typeIdentifier","text":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","text":")"}],"symbolKind":"method","externalID":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF::SYNTHESIZED::s:12IOTBluetooth6IBCodeO","extendedModule":"Swift","modules":[{"name":"IOTBluetooth","relatedModules":["Swift"]}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode\/RawRepresentable-Implementations"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBCode":{"role":"symbol","title":"IBCode","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBCode"}],"abstract":[{"type":"text","text":"状态码"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBCode"}],"url":"\/documentation\/iotbluetooth\/ibcode"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBCode/hash(into:)":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"hash(into:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"hash"},{"kind":"text","text":"("},{"kind":"externalParam","text":"into"},{"kind":"text","text":": "},{"kind":"keyword","text":"inout"},{"kind":"text","text":" "},{"kind":"typeIdentifier","text":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","text":")"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode\/hash(into:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibcode\/hash(into:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBCode/RawRepresentable-Implementations":{"role":"collectionGroup","title":"RawRepresentable Implementations","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode\/RawRepresentable-Implementations","kind":"article","type":"topic","url":"\/documentation\/iotbluetooth\/ibcode\/rawrepresentable-implementations"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"hashValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":" { "},{"kind":"keyword","text":"get"},{"kind":"text","text":" }"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibcode\/hashvalue"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode\/hashValue","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"RawRepresentable.hashValue"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"hashValue","roleHeading":"Instance Property","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"hashValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"symbolKind":"property","externalID":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:12IOTBluetooth6IBCodeO","extendedModule":"Swift","modules":[{"name":"IOTBluetooth","relatedModules":["Swift"]}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode\/RawRepresentable-Implementations"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBCode":{"role":"symbol","title":"IBCode","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBCode"}],"abstract":[{"type":"text","text":"状态码"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBCode"}],"url":"\/documentation\/iotbluetooth\/ibcode"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBCode/hashValue":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"hashValue","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"hashValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode\/hashValue","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibcode\/hashvalue"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBCode/RawRepresentable-Implementations":{"role":"collectionGroup","title":"RawRepresentable Implementations","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode\/RawRepresentable-Implementations","kind":"article","type":"topic","url":"\/documentation\/iotbluetooth\/ibcode\/rawrepresentable-implementations"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"?("},{"kind":"externalParam","text":"rawValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibcode\/init(rawvalue:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode\/init(rawValue:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"RawRepresentable.init(rawValue:)"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"?("},{"kind":"externalParam","text":"rawValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}],"title":"init(rawValue:)","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth6IBCodeO8rawValueACSgSi_tcfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBCode":{"role":"symbol","title":"IBCode","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBCode"}],"abstract":[{"type":"text","text":"状态码"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBCode"}],"url":"\/documentation\/iotbluetooth\/ibcode"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBCode/init(rawValue:)":{"role":"symbol","title":"init(rawValue:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"?("},{"kind":"externalParam","text":"rawValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode\/init(rawValue:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibcode\/init(rawvalue:)"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"invalidParam"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibcode\/invalidparam"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode\/invalidParam","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"参数错误"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"invalidParam"}],"title":"IBCode.invalidParam","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth6IBCodeO12invalidParamyA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBCode":{"role":"symbol","title":"IBCode","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBCode"}],"abstract":[{"type":"text","text":"状态码"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBCode"}],"url":"\/documentation\/iotbluetooth\/ibcode"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBCode/invalidParam":{"role":"symbol","title":"IBCode.invalidParam","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"invalidParam"}],"abstract":[{"type":"text","text":"参数错误"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode\/invalidParam","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibcode\/invalidparam"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"parseError"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibcode\/parseerror"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode\/parseError","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"解析错误"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"parseError"}],"title":"IBCode.parseError","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth6IBCodeO10parseErroryA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBCode":{"role":"symbol","title":"IBCode","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBCode"}],"abstract":[{"type":"text","text":"状态码"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBCode"}],"url":"\/documentation\/iotbluetooth\/ibcode"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBCode/parseError":{"role":"symbol","title":"IBCode.parseError","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"parseError"}],"abstract":[{"type":"text","text":"解析错误"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode\/parseError","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibcode\/parseerror"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"variants":[{"paths":["\/documentation\/iotbluetooth\/ibcode\/rawrepresentable-implementations"],"traits":[{"interfaceLanguage":"swift"}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode\/RawRepresentable-Implementations","interfaceLanguage":"swift"},"topicSections":[{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode\/hashValue"],"generated":true},{"title":"Instance Methods","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode\/hash(into:)"],"generated":true}],"kind":"article","metadata":{"modules":[{"name":"IOTBluetooth"}],"role":"collectionGroup","title":"RawRepresentable Implementations"},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBCode":{"role":"symbol","title":"IBCode","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBCode"}],"abstract":[{"type":"text","text":"状态码"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBCode"}],"url":"\/documentation\/iotbluetooth\/ibcode"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBCode/hashValue":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"hashValue","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"hashValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode\/hashValue","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibcode\/hashvalue"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBCode/hash(into:)":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"hash(into:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"hash"},{"kind":"text","text":"("},{"kind":"externalParam","text":"into"},{"kind":"text","text":": "},{"kind":"keyword","text":"inout"},{"kind":"text","text":" "},{"kind":"typeIdentifier","text":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","text":")"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode\/hash(into:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibcode\/hash(into:)"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"success"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibcode\/success"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode\/success","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"操作成功"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"success"}],"title":"IBCode.success","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth6IBCodeO7successyA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBCode":{"role":"symbol","title":"IBCode","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBCode"}],"abstract":[{"type":"text","text":"状态码"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBCode"}],"url":"\/documentation\/iotbluetooth\/ibcode"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBCode/success":{"role":"symbol","title":"IBCode.success","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"success"}],"abstract":[{"type":"text","text":"操作成功"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode\/success","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibcode\/success"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"timeout"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibcode\/timeout"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode\/timeout","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"请求超时"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"timeout"}],"title":"IBCode.timeout","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth6IBCodeO7timeoutyA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBCode":{"role":"symbol","title":"IBCode","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBCode"}],"abstract":[{"type":"text","text":"状态码"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBCode"}],"url":"\/documentation\/iotbluetooth\/ibcode"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBCode/timeout":{"role":"symbol","title":"IBCode.timeout","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"timeout"}],"abstract":[{"type":"text","text":"请求超时"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode\/timeout","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibcode\/timeout"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"unknow"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibcode\/unknow"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode\/unknow","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"未知错误"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"unknow"}],"title":"IBCode.unknow","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth6IBCodeO6unknowyA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBCode":{"role":"symbol","title":"IBCode","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBCode"}],"abstract":[{"type":"text","text":"状态码"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBCode"}],"url":"\/documentation\/iotbluetooth\/ibcode"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBCode/unknow":{"role":"symbol","title":"IBCode.unknow","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"unknow"}],"abstract":[{"type":"text","text":"未知错误"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode\/unknow","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibcode\/unknow"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBCompleteHandler"},{"kind":"text","text":" = ("},{"kind":"externalParam","text":"_"},{"kind":"text","text":" "},{"kind":"internalParam","text":"isSuccess"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Void","preciseIdentifier":"s:s4Voida"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibcompletehandler"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCompleteHandler","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBCompleteHandler"}],"title":"IBCompleteHandler","roleHeading":"Type Alias","role":"symbol","symbolKind":"typealias","externalID":"s:12IOTBluetooth17IBCompleteHandlera","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBCompleteHandler"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBCompleteHandler":{"role":"symbol","title":"IBCompleteHandler","fragments":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBCompleteHandler"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCompleteHandler","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBCompleteHandler"}],"url":"\/documentation\/iotbluetooth\/ibcompletehandler"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBCompletionHandler"},{"kind":"text","text":" = ("},{"kind":"externalParam","text":"_"},{"kind":"text","text":" "},{"kind":"internalParam","text":"result"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse","preciseIdentifier":"s:12IOTBluetooth10IBResponseC","text":"IBResponse"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Void","preciseIdentifier":"s:s4Voida"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibcompletionhandler"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCompletionHandler","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBCompletionHandler"}],"title":"IBCompletionHandler","roleHeading":"Type Alias","role":"symbol","symbolKind":"typealias","externalID":"s:12IOTBluetooth19IBCompletionHandlera","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBCompletionHandler"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBResponse":{"role":"symbol","title":"IBResponse","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBResponse"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBResponse"}],"url":"\/documentation\/iotbluetooth\/ibresponse"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBCompletionHandler":{"role":"symbol","title":"IBCompletionHandler","fragments":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBCompletionHandler"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCompletionHandler","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBCompletionHandler"}],"url":"\/documentation\/iotbluetooth\/ibcompletionhandler"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBDeleteFile"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibdeletefile"],"traits":[{"interfaceLanguage":"swift"}]}],"relationshipsSections":[{"identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/Se","doc:\/\/com.thisiot.IOTBluetooth\/SE"],"kind":"relationships","title":"Conforms To","type":"conformsTo"}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDeleteFile","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"删除文件模型"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBDeleteFile"}],"title":"IBDeleteFile","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:12IOTBluetooth12IBDeleteFileC","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBDeleteFile"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"topicSections":[{"title":"Initializers","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDeleteFile\/init()","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDeleteFile\/init(from:)"]},{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDeleteFile\/description","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDeleteFile\/fileType","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDeleteFile\/uids"]}],"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDeleteFile":{"role":"symbol","title":"IBDeleteFile","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBDeleteFile"}],"abstract":[{"type":"text","text":"删除文件模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDeleteFile","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBDeleteFile"}],"url":"\/documentation\/iotbluetooth\/ibdeletefile"},"doc://com.thisiot.IOTBluetooth/Se":{"type":"unresolvable","title":"Swift.Decodable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/Se"},"doc://com.thisiot.IOTBluetooth/SE":{"type":"unresolvable","title":"Swift.Encodable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/SE"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDeleteFile/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDeleteFile\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibdeletefile\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDeleteFile/uids":{"role":"symbol","title":"uids","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"uids"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"]"}],"abstract":[{"type":"text","text":"文件UID,文件唯一编号。一次最多5个"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDeleteFile\/uids","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibdeletefile\/uids"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDeleteFile/fileType":{"role":"symbol","title":"fileType","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"fileType"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBFile","preciseIdentifier":"s:12IOTBluetooth6IBFileO"}],"abstract":[{"type":"text","text":"文件类型,2:MP3 3:表盘"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDeleteFile\/fileType","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibdeletefile\/filetype"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDeleteFile/description":{"role":"symbol","title":"description","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"description"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDeleteFile\/description","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibdeletefile\/description"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDeleteFile/init(from:)":{"role":"symbol","title":"init(from:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDeleteFile\/init(from:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibdeletefile\/init(from:)"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"description"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":" { "},{"kind":"keyword","text":"get"},{"kind":"text","text":" }"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibdeletefile\/description"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDeleteFile\/description","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"description"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"title":"description","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth12IBDeleteFileC11descriptionSSvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDeleteFile"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDeleteFile":{"role":"symbol","title":"IBDeleteFile","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBDeleteFile"}],"abstract":[{"type":"text","text":"删除文件模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDeleteFile","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBDeleteFile"}],"url":"\/documentation\/iotbluetooth\/ibdeletefile"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDeleteFile/description":{"role":"symbol","title":"description","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"description"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDeleteFile\/description","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibdeletefile\/description"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"fileType"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile","preciseIdentifier":"s:12IOTBluetooth6IBFileO","text":"IBFile"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibdeletefile\/filetype"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDeleteFile\/fileType","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"文件类型,2:MP3 3:表盘"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"fileType"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBFile","preciseIdentifier":"s:12IOTBluetooth6IBFileO"}],"title":"fileType","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth12IBDeleteFileC8fileTypeAA6IBFileOvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDeleteFile"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDeleteFile/fileType":{"role":"symbol","title":"fileType","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"fileType"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBFile","preciseIdentifier":"s:12IOTBluetooth6IBFileO"}],"abstract":[{"type":"text","text":"文件类型,2:MP3 3:表盘"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDeleteFile\/fileType","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibdeletefile\/filetype"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDeleteFile":{"role":"symbol","title":"IBDeleteFile","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBDeleteFile"}],"abstract":[{"type":"text","text":"删除文件模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDeleteFile","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBDeleteFile"}],"url":"\/documentation\/iotbluetooth\/ibdeletefile"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFile":{"role":"symbol","title":"IBFile","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFile"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBFile"}],"url":"\/documentation\/iotbluetooth\/ibfile"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"()"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibdeletefile\/init()"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDeleteFile\/init()","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"title":"init()","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth12IBDeleteFileCACycfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDeleteFile"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDeleteFile/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDeleteFile\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibdeletefile\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDeleteFile":{"role":"symbol","title":"IBDeleteFile","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBDeleteFile"}],"abstract":[{"type":"text","text":"删除文件模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDeleteFile","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBDeleteFile"}],"url":"\/documentation\/iotbluetooth\/ibdeletefile"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":" "},{"kind":"internalParam","text":"decoder"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibdeletefile\/init(from:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDeleteFile\/init(from:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"Decodable.init(from:)"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"title":"init(from:)","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth12IBDeleteFileC4fromACs7Decoder_p_tKcfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDeleteFile"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDeleteFile":{"role":"symbol","title":"IBDeleteFile","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBDeleteFile"}],"abstract":[{"type":"text","text":"删除文件模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDeleteFile","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBDeleteFile"}],"url":"\/documentation\/iotbluetooth\/ibdeletefile"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDeleteFile/init(from:)":{"role":"symbol","title":"init(from:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDeleteFile\/init(from:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibdeletefile\/init(from:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"uids"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"]"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibdeletefile\/uids"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDeleteFile\/uids","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"文件UID,文件唯一编号。一次最多5个"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"uids"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"]"}],"title":"uids","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth12IBDeleteFileC4uidsSaySiGvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDeleteFile"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDeleteFile/uids":{"role":"symbol","title":"uids","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"uids"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"]"}],"abstract":[{"type":"text","text":"文件UID,文件唯一编号。一次最多5个"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDeleteFile\/uids","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibdeletefile\/uids"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDeleteFile":{"role":"symbol","title":"IBDeleteFile","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBDeleteFile"}],"abstract":[{"type":"text","text":"删除文件模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDeleteFile","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBDeleteFile"}],"url":"\/documentation\/iotbluetooth\/ibdeletefile"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBDial"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibdial"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDial","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"表盘文件汇总信息模型(目前只支持表盘市场)"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBDial"}],"title":"IBDial","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:12IOTBluetooth6IBDialC","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBDial"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"topicSections":[{"title":"Initializers","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDial\/init()"]},{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDial\/UID","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDial\/batteryStyle","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDial\/description","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDial\/files","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDial\/theme","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDial\/timeColor","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDial\/timeStyle"]}],"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDial/batteryStyle":{"role":"symbol","title":"batteryStyle","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"batteryStyle"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"电池图标样式, 0:无图标 1:黑色图标 2:白色图标( 仅 定义表盘有该项)"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDial\/batteryStyle","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibdial\/batterystyle"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDial/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDial\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibdial\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDial":{"role":"symbol","title":"IBDial","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBDial"}],"abstract":[{"type":"text","text":"表盘文件汇总信息模型(目前只支持表盘市场)"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDial","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBDial"}],"url":"\/documentation\/iotbluetooth\/ibdial"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDial/files":{"role":"symbol","title":"files","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"files"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","text":"IBDialFile","preciseIdentifier":"s:12IOTBluetooth10IBDialFileC"},{"kind":"text","text":"]?"}],"abstract":[{"type":"text","text":"表盘文件"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDial\/files","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibdial\/files"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDial/theme":{"role":"symbol","title":"theme","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"theme"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"主题名称,名称长度,0~255 (仅表盘市场有该项)"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDial\/theme","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibdial\/theme"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDial/timeStyle":{"role":"symbol","title":"timeStyle","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"timeStyle"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"时间样式 0:时间在下方 1:时间在上方 ( 仅自定义表盘有该项)"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDial\/timeStyle","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibdial\/timestyle"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDial/UID":{"role":"symbol","title":"UID","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"UID"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"自定义表盘:0"},{"type":"strikethrough","inlineContent":[{"type":"text","text":"4"},{"type":"text","text":" "},{"type":"text","text":"表盘市场 : 0x05"}]},{"type":"text","text":"0xffff"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDial\/UID","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibdial\/uid"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDial/description":{"role":"symbol","title":"description","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"description"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDial\/description","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibdial\/description"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDial/timeColor":{"role":"symbol","title":"timeColor","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"timeColor"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"时间字体颜色 0:亮白 1:黑 2:暗白 3:绿 4:橙 5:蓝 ( 仅自定义表盘有该项)"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDial\/timeColor","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibdial\/timecolor"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"batteryStyle"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibdial\/batterystyle"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDial\/batteryStyle","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"电池图标样式, 0:无图标 1:黑色图标 2:白色图标( 仅 定义表盘有该项)"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"batteryStyle"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"title":"batteryStyle","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth6IBDialC12batteryStyleSiSgvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDial"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDial/batteryStyle":{"role":"symbol","title":"batteryStyle","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"batteryStyle"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"电池图标样式, 0:无图标 1:黑色图标 2:白色图标( 仅 定义表盘有该项)"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDial\/batteryStyle","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibdial\/batterystyle"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDial":{"role":"symbol","title":"IBDial","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBDial"}],"abstract":[{"type":"text","text":"表盘文件汇总信息模型(目前只支持表盘市场)"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDial","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBDial"}],"url":"\/documentation\/iotbluetooth\/ibdial"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"description"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":" { "},{"kind":"keyword","text":"get"},{"kind":"text","text":" }"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibdial\/description"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDial\/description","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"description"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"title":"description","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth6IBDialC11descriptionSSvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDial"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDial":{"role":"symbol","title":"IBDial","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBDial"}],"abstract":[{"type":"text","text":"表盘文件汇总信息模型(目前只支持表盘市场)"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDial","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBDial"}],"url":"\/documentation\/iotbluetooth\/ibdial"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDial/description":{"role":"symbol","title":"description","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"description"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDial\/description","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibdial\/description"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"files"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDialFile","preciseIdentifier":"s:12IOTBluetooth10IBDialFileC","text":"IBDialFile"},{"kind":"text","text":"]?"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibdial\/files"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDial\/files","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"表盘文件"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"files"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","text":"IBDialFile","preciseIdentifier":"s:12IOTBluetooth10IBDialFileC"},{"kind":"text","text":"]?"}],"title":"files","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth6IBDialC5filesSayAA0B4FileCGSgvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDial"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDialFile":{"role":"symbol","title":"IBDialFile","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBDialFile"}],"abstract":[{"type":"text","text":"单个表盘文件信息模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDialFile","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBDialFile"}],"url":"\/documentation\/iotbluetooth\/ibdialfile"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDial/files":{"role":"symbol","title":"files","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"files"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","text":"IBDialFile","preciseIdentifier":"s:12IOTBluetooth10IBDialFileC"},{"kind":"text","text":"]?"}],"abstract":[{"type":"text","text":"表盘文件"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDial\/files","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibdial\/files"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDial":{"role":"symbol","title":"IBDial","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBDial"}],"abstract":[{"type":"text","text":"表盘文件汇总信息模型(目前只支持表盘市场)"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDial","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBDial"}],"url":"\/documentation\/iotbluetooth\/ibdial"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"()"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibdial\/init()"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDial\/init()","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"title":"init()","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth6IBDialCACycfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDial"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDial":{"role":"symbol","title":"IBDial","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBDial"}],"abstract":[{"type":"text","text":"表盘文件汇总信息模型(目前只支持表盘市场)"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDial","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBDial"}],"url":"\/documentation\/iotbluetooth\/ibdial"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDial/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDial\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibdial\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"theme"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":"?"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibdial\/theme"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDial\/theme","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"主题名称,名称长度,0~255 (仅表盘市场有该项)"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"theme"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":"?"}],"title":"theme","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth6IBDialC5themeSSSgvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDial"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDial/theme":{"role":"symbol","title":"theme","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"theme"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"主题名称,名称长度,0~255 (仅表盘市场有该项)"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDial\/theme","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibdial\/theme"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDial":{"role":"symbol","title":"IBDial","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBDial"}],"abstract":[{"type":"text","text":"表盘文件汇总信息模型(目前只支持表盘市场)"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDial","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBDial"}],"url":"\/documentation\/iotbluetooth\/ibdial"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"timeColor"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibdial\/timecolor"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDial\/timeColor","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"时间字体颜色 0:亮白 1:黑 2:暗白 3:绿 4:橙 5:蓝 ( 仅自定义表盘有该项)"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"timeColor"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"title":"timeColor","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth6IBDialC9timeColorSiSgvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDial"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDial/timeColor":{"role":"symbol","title":"timeColor","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"timeColor"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"时间字体颜色 0:亮白 1:黑 2:暗白 3:绿 4:橙 5:蓝 ( 仅自定义表盘有该项)"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDial\/timeColor","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibdial\/timecolor"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDial":{"role":"symbol","title":"IBDial","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBDial"}],"abstract":[{"type":"text","text":"表盘文件汇总信息模型(目前只支持表盘市场)"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDial","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBDial"}],"url":"\/documentation\/iotbluetooth\/ibdial"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"timeStyle"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibdial\/timestyle"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDial\/timeStyle","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"时间样式 0:时间在下方 1:时间在上方 ( 仅自定义表盘有该项)"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"timeStyle"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"title":"timeStyle","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth6IBDialC9timeStyleSiSgvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDial"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDial/timeStyle":{"role":"symbol","title":"timeStyle","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"timeStyle"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"时间样式 0:时间在下方 1:时间在上方 ( 仅自定义表盘有该项)"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDial\/timeStyle","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibdial\/timestyle"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDial":{"role":"symbol","title":"IBDial","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBDial"}],"abstract":[{"type":"text","text":"表盘文件汇总信息模型(目前只支持表盘市场)"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDial","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBDial"}],"url":"\/documentation\/iotbluetooth\/ibdial"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"UID"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibdial\/uid"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDial\/UID","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"自定义表盘:0"},{"type":"strikethrough","inlineContent":[{"type":"text","text":"4"},{"type":"text","text":" "},{"type":"text","text":"表盘市场 : 0x05"}]},{"type":"text","text":"0xffff"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"UID"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"UID","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth6IBDialC3UIDSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDial"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDial/UID":{"role":"symbol","title":"UID","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"UID"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"自定义表盘:0"},{"type":"strikethrough","inlineContent":[{"type":"text","text":"4"},{"type":"text","text":" "},{"type":"text","text":"表盘市场 : 0x05"}]},{"type":"text","text":"0xffff"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDial\/UID","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibdial\/uid"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDial":{"role":"symbol","title":"IBDial","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBDial"}],"abstract":[{"type":"text","text":"表盘文件汇总信息模型(目前只支持表盘市场)"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDial","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBDial"}],"url":"\/documentation\/iotbluetooth\/ibdial"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBDialFile"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibdialfile"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDialFile","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"单个表盘文件信息模型"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBDialFile"}],"title":"IBDialFile","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:12IOTBluetooth10IBDialFileC","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBDialFile"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"topicSections":[{"title":"Initializers","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDialFile\/init()"]},{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDialFile\/description","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDialFile\/fileName","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDialFile\/filePath"]}],"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDialFile/description":{"role":"symbol","title":"description","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"description"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDialFile\/description","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibdialfile\/description"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDialFile/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDialFile\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibdialfile\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDialFile/fileName":{"role":"symbol","title":"fileName","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"fileName"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"文件名称"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDialFile\/fileName","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibdialfile\/filename"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDialFile/filePath":{"role":"symbol","title":"filePath","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"filePath"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"文件路径"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDialFile\/filePath","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibdialfile\/filepath"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDialFile":{"role":"symbol","title":"IBDialFile","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBDialFile"}],"abstract":[{"type":"text","text":"单个表盘文件信息模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDialFile","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBDialFile"}],"url":"\/documentation\/iotbluetooth\/ibdialfile"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"description"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":" { "},{"kind":"keyword","text":"get"},{"kind":"text","text":" }"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibdialfile\/description"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDialFile\/description","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"description"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"title":"description","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth10IBDialFileC11descriptionSSvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDialFile"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDialFile":{"role":"symbol","title":"IBDialFile","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBDialFile"}],"abstract":[{"type":"text","text":"单个表盘文件信息模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDialFile","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBDialFile"}],"url":"\/documentation\/iotbluetooth\/ibdialfile"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDialFile/description":{"role":"symbol","title":"description","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"description"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDialFile\/description","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibdialfile\/description"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"fileName"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibdialfile\/filename"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDialFile\/fileName","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"文件名称"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"fileName"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"title":"fileName","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth10IBDialFileC8fileNameSSvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDialFile"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDialFile":{"role":"symbol","title":"IBDialFile","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBDialFile"}],"abstract":[{"type":"text","text":"单个表盘文件信息模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDialFile","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBDialFile"}],"url":"\/documentation\/iotbluetooth\/ibdialfile"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDialFile/fileName":{"role":"symbol","title":"fileName","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"fileName"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"文件名称"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDialFile\/fileName","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibdialfile\/filename"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"filePath"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibdialfile\/filepath"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDialFile\/filePath","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"文件路径"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"filePath"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"title":"filePath","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth10IBDialFileC8filePathSSvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDialFile"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDialFile":{"role":"symbol","title":"IBDialFile","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBDialFile"}],"abstract":[{"type":"text","text":"单个表盘文件信息模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDialFile","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBDialFile"}],"url":"\/documentation\/iotbluetooth\/ibdialfile"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDialFile/filePath":{"role":"symbol","title":"filePath","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"filePath"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"文件路径"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDialFile\/filePath","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibdialfile\/filepath"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"()"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibdialfile\/init()"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDialFile\/init()","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"title":"init()","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth10IBDialFileCACycfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDialFile"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDialFile/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDialFile\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibdialfile\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDialFile":{"role":"symbol","title":"IBDialFile","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBDialFile"}],"abstract":[{"type":"text","text":"单个表盘文件信息模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDialFile","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBDialFile"}],"url":"\/documentation\/iotbluetooth\/ibdialfile"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBDiscoverHandler"},{"kind":"text","text":" = ("},{"kind":"externalParam","text":"_"},{"kind":"text","text":" "},{"kind":"internalParam","text":"peripheral"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheral","preciseIdentifier":"s:12IOTBluetooth12IBPeripheralC","text":"IBPeripheral"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Void","preciseIdentifier":"s:s4Voida"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibdiscoverhandler"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDiscoverHandler","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBDiscoverHandler"}],"title":"IBDiscoverHandler","roleHeading":"Type Alias","role":"symbol","symbolKind":"typealias","externalID":"s:12IOTBluetooth17IBDiscoverHandlera","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBDiscoverHandler"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPeripheral":{"role":"symbol","title":"IBPeripheral","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBPeripheral"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheral","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBPeripheral"}],"url":"\/documentation\/iotbluetooth\/ibperipheral"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDiscoverHandler":{"role":"symbol","title":"IBDiscoverHandler","fragments":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBDiscoverHandler"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDiscoverHandler","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBDiscoverHandler"}],"url":"\/documentation\/iotbluetooth\/ibdiscoverhandler"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBDuration"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibduration"],"traits":[{"interfaceLanguage":"swift"}]}],"relationshipsSections":[{"identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/SQ","doc:\/\/com.thisiot.IOTBluetooth\/SH","doc:\/\/com.thisiot.IOTBluetooth\/SY"],"kind":"relationships","title":"Conforms To","type":"conformsTo"}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration","interfaceLanguage":"swift"},"topicSections":[{"title":"Enumeration Cases","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration\/minute","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration\/minute5","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration\/second10","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration\/second15","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration\/second30","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration\/second5"]},{"title":"Initializers","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration\/init(rawValue:)"]},{"title":"Default Implementations","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration\/Equatable-Implementations","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration\/RawRepresentable-Implementations"],"generated":true}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBDuration"}],"title":"IBDuration","roleHeading":"Enumeration","role":"symbol","symbolKind":"enum","externalID":"s:12IOTBluetooth10IBDurationO","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBDuration"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDuration/Equatable-Implementations":{"role":"collectionGroup","title":"Equatable Implementations","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration\/Equatable-Implementations","kind":"article","type":"topic","url":"\/documentation\/iotbluetooth\/ibduration\/equatable-implementations"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDuration/minute5":{"role":"symbol","title":"IBDuration.minute5","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"minute5"}],"abstract":[{"type":"text","text":"5 分钟"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration\/minute5","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibduration\/minute5"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDuration/second5":{"role":"symbol","title":"IBDuration.second5","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"second5"}],"abstract":[{"type":"text","text":"5 秒"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration\/second5","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibduration\/second5"},"doc://com.thisiot.IOTBluetooth/SQ":{"type":"unresolvable","title":"Swift.Equatable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/SQ"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDuration/second10":{"role":"symbol","title":"IBDuration.second10","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"second10"}],"abstract":[{"type":"text","text":"10 秒"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration\/second10","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibduration\/second10"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDuration/minute":{"role":"symbol","title":"IBDuration.minute","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"minute"}],"abstract":[{"type":"text","text":"1 分钟"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration\/minute","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibduration\/minute"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDuration/init(rawValue:)":{"role":"symbol","title":"init(rawValue:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"?("},{"kind":"externalParam","text":"rawValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration\/init(rawValue:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibduration\/init(rawvalue:)"},"doc://com.thisiot.IOTBluetooth/SY":{"type":"unresolvable","title":"Swift.RawRepresentable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/SY"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDuration":{"role":"symbol","title":"IBDuration","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBDuration"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBDuration"}],"url":"\/documentation\/iotbluetooth\/ibduration"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDuration/RawRepresentable-Implementations":{"role":"collectionGroup","title":"RawRepresentable Implementations","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration\/RawRepresentable-Implementations","kind":"article","type":"topic","url":"\/documentation\/iotbluetooth\/ibduration\/rawrepresentable-implementations"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDuration/second30":{"role":"symbol","title":"IBDuration.second30","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"second30"}],"abstract":[{"type":"text","text":"30 秒"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration\/second30","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibduration\/second30"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDuration/second15":{"role":"symbol","title":"IBDuration.second15","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"second15"}],"abstract":[{"type":"text","text":"15 秒"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration\/second15","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibduration\/second15"},"doc://com.thisiot.IOTBluetooth/SH":{"type":"unresolvable","title":"Swift.Hashable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/SH"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"!="},{"kind":"text","text":" "},{"kind":"text","text":"("},{"kind":"internalParam","text":"lhs"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":", "},{"kind":"internalParam","text":"rhs"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibduration\/!=(_:_:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration\/!=(_:_:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"Equatable.!=(_:_:)"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"role":"symbol","title":"!=(_:_:)","roleHeading":"Operator","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"!="},{"kind":"text","text":" "},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":", "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"symbolKind":"op","externalID":"s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:12IOTBluetooth10IBDurationO","extendedModule":"Swift","modules":[{"name":"IOTBluetooth","relatedModules":["Swift"]}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration\/Equatable-Implementations"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDuration/!=(_:_:)":{"role":"symbol","title":"!=(_:_:)","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"!="},{"kind":"text","text":" "},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":", "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration\/!=(_:_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibduration\/!=(_:_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDuration/Equatable-Implementations":{"role":"collectionGroup","title":"Equatable Implementations","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration\/Equatable-Implementations","kind":"article","type":"topic","url":"\/documentation\/iotbluetooth\/ibduration\/equatable-implementations"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDuration":{"role":"symbol","title":"IBDuration","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBDuration"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBDuration"}],"url":"\/documentation\/iotbluetooth\/ibduration"}}}
\ No newline at end of file
--- /dev/null
+{"variants":[{"paths":["\/documentation\/iotbluetooth\/ibduration\/equatable-implementations"],"traits":[{"interfaceLanguage":"swift"}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration\/Equatable-Implementations","interfaceLanguage":"swift"},"topicSections":[{"title":"Operators","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration\/!=(_:_:)"],"generated":true}],"kind":"article","metadata":{"modules":[{"name":"IOTBluetooth"}],"role":"collectionGroup","title":"Equatable Implementations"},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDuration":{"role":"symbol","title":"IBDuration","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBDuration"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBDuration"}],"url":"\/documentation\/iotbluetooth\/ibduration"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDuration/!=(_:_:)":{"role":"symbol","title":"!=(_:_:)","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"!="},{"kind":"text","text":" "},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":", "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration\/!=(_:_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibduration\/!=(_:_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"hash"},{"kind":"text","text":"("},{"kind":"externalParam","text":"into"},{"kind":"text","text":" "},{"kind":"internalParam","text":"hasher"},{"kind":"text","text":": "},{"kind":"keyword","text":"inout"},{"kind":"text","text":" "},{"kind":"typeIdentifier","text":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibduration\/hash(into:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration\/hash(into:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"RawRepresentable.hash(into:)"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"hash(into:)","roleHeading":"Instance Method","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"hash"},{"kind":"text","text":"("},{"kind":"externalParam","text":"into"},{"kind":"text","text":": "},{"kind":"keyword","text":"inout"},{"kind":"text","text":" "},{"kind":"typeIdentifier","text":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","text":")"}],"symbolKind":"method","externalID":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF::SYNTHESIZED::s:12IOTBluetooth10IBDurationO","extendedModule":"Swift","modules":[{"name":"IOTBluetooth","relatedModules":["Swift"]}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration\/RawRepresentable-Implementations"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDuration/RawRepresentable-Implementations":{"role":"collectionGroup","title":"RawRepresentable Implementations","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration\/RawRepresentable-Implementations","kind":"article","type":"topic","url":"\/documentation\/iotbluetooth\/ibduration\/rawrepresentable-implementations"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDuration/hash(into:)":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"hash(into:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"hash"},{"kind":"text","text":"("},{"kind":"externalParam","text":"into"},{"kind":"text","text":": "},{"kind":"keyword","text":"inout"},{"kind":"text","text":" "},{"kind":"typeIdentifier","text":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","text":")"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration\/hash(into:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibduration\/hash(into:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDuration":{"role":"symbol","title":"IBDuration","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBDuration"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBDuration"}],"url":"\/documentation\/iotbluetooth\/ibduration"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"hashValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":" { "},{"kind":"keyword","text":"get"},{"kind":"text","text":" }"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibduration\/hashvalue"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration\/hashValue","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"RawRepresentable.hashValue"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"hashValue","roleHeading":"Instance Property","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"hashValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"symbolKind":"property","externalID":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:12IOTBluetooth10IBDurationO","extendedModule":"Swift","modules":[{"name":"IOTBluetooth","relatedModules":["Swift"]}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration\/RawRepresentable-Implementations"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDuration/hashValue":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"hashValue","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"hashValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration\/hashValue","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibduration\/hashvalue"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDuration/RawRepresentable-Implementations":{"role":"collectionGroup","title":"RawRepresentable Implementations","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration\/RawRepresentable-Implementations","kind":"article","type":"topic","url":"\/documentation\/iotbluetooth\/ibduration\/rawrepresentable-implementations"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDuration":{"role":"symbol","title":"IBDuration","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBDuration"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBDuration"}],"url":"\/documentation\/iotbluetooth\/ibduration"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"?("},{"kind":"externalParam","text":"rawValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibduration\/init(rawvalue:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration\/init(rawValue:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"RawRepresentable.init(rawValue:)"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"?("},{"kind":"externalParam","text":"rawValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}],"title":"init(rawValue:)","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth10IBDurationO8rawValueACSgSi_tcfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDuration":{"role":"symbol","title":"IBDuration","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBDuration"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBDuration"}],"url":"\/documentation\/iotbluetooth\/ibduration"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDuration/init(rawValue:)":{"role":"symbol","title":"init(rawValue:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"?("},{"kind":"externalParam","text":"rawValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration\/init(rawValue:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibduration\/init(rawvalue:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"minute"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibduration\/minute"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration\/minute","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"1 分钟"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"minute"}],"title":"IBDuration.minute","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth10IBDurationO6minuteyA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDuration/minute":{"role":"symbol","title":"IBDuration.minute","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"minute"}],"abstract":[{"type":"text","text":"1 分钟"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration\/minute","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibduration\/minute"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDuration":{"role":"symbol","title":"IBDuration","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBDuration"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBDuration"}],"url":"\/documentation\/iotbluetooth\/ibduration"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"minute5"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibduration\/minute5"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration\/minute5","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"5 分钟"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"minute5"}],"title":"IBDuration.minute5","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth10IBDurationO7minute5yA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDuration/minute5":{"role":"symbol","title":"IBDuration.minute5","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"minute5"}],"abstract":[{"type":"text","text":"5 分钟"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration\/minute5","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibduration\/minute5"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDuration":{"role":"symbol","title":"IBDuration","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBDuration"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBDuration"}],"url":"\/documentation\/iotbluetooth\/ibduration"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"variants":[{"paths":["\/documentation\/iotbluetooth\/ibduration\/rawrepresentable-implementations"],"traits":[{"interfaceLanguage":"swift"}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration\/RawRepresentable-Implementations","interfaceLanguage":"swift"},"topicSections":[{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration\/hashValue"],"generated":true},{"title":"Instance Methods","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration\/hash(into:)"],"generated":true}],"kind":"article","metadata":{"modules":[{"name":"IOTBluetooth"}],"role":"collectionGroup","title":"RawRepresentable Implementations"},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDuration/hashValue":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"hashValue","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"hashValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration\/hashValue","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibduration\/hashvalue"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDuration/hash(into:)":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"hash(into:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"hash"},{"kind":"text","text":"("},{"kind":"externalParam","text":"into"},{"kind":"text","text":": "},{"kind":"keyword","text":"inout"},{"kind":"text","text":" "},{"kind":"typeIdentifier","text":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","text":")"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration\/hash(into:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibduration\/hash(into:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDuration":{"role":"symbol","title":"IBDuration","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBDuration"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBDuration"}],"url":"\/documentation\/iotbluetooth\/ibduration"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"second10"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibduration\/second10"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration\/second10","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"10 秒"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"second10"}],"title":"IBDuration.second10","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth10IBDurationO8second10yA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDuration/second10":{"role":"symbol","title":"IBDuration.second10","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"second10"}],"abstract":[{"type":"text","text":"10 秒"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration\/second10","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibduration\/second10"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDuration":{"role":"symbol","title":"IBDuration","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBDuration"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBDuration"}],"url":"\/documentation\/iotbluetooth\/ibduration"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"second15"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibduration\/second15"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration\/second15","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"15 秒"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"second15"}],"title":"IBDuration.second15","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth10IBDurationO8second15yA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDuration":{"role":"symbol","title":"IBDuration","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBDuration"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBDuration"}],"url":"\/documentation\/iotbluetooth\/ibduration"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDuration/second15":{"role":"symbol","title":"IBDuration.second15","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"second15"}],"abstract":[{"type":"text","text":"15 秒"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration\/second15","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibduration\/second15"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"second30"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibduration\/second30"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration\/second30","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"30 秒"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"second30"}],"title":"IBDuration.second30","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth10IBDurationO8second30yA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDuration":{"role":"symbol","title":"IBDuration","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBDuration"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBDuration"}],"url":"\/documentation\/iotbluetooth\/ibduration"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDuration/second30":{"role":"symbol","title":"IBDuration.second30","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"second30"}],"abstract":[{"type":"text","text":"30 秒"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration\/second30","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibduration\/second30"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"second5"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibduration\/second5"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration\/second5","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"5 秒"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"second5"}],"title":"IBDuration.second5","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth10IBDurationO7second5yA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDuration":{"role":"symbol","title":"IBDuration","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBDuration"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBDuration"}],"url":"\/documentation\/iotbluetooth\/ibduration"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDuration/second5":{"role":"symbol","title":"IBDuration.second5","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"second5"}],"abstract":[{"type":"text","text":"5 秒"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration\/second5","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibduration\/second5"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBEpo"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibepo"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBEpo","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"IBEpo信息模型"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBEpo"}],"title":"IBEpo","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:12IOTBluetooth5IBEpoC","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBEpo"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"topicSections":[{"title":"Initializers","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBEpo\/init()"]},{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBEpo\/UID","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBEpo\/description","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBEpo\/fileName","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBEpo\/filePath","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBEpo\/nameLength"]}],"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBEpo":{"role":"symbol","title":"IBEpo","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBEpo"}],"abstract":[{"type":"text","text":"IBEpo信息模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBEpo","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBEpo"}],"url":"\/documentation\/iotbluetooth\/ibepo"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBEpo/filePath":{"role":"symbol","title":"filePath","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"filePath"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"文件路径"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBEpo\/filePath","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibepo\/filepath"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBEpo/fileName":{"role":"symbol","title":"fileName","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"fileName"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"文件名称,名称字节数为前面名称长度指定,UTF-8编码"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBEpo\/fileName","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibepo\/filename"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBEpo/nameLength":{"role":"symbol","title":"nameLength","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"nameLength"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"文件名称长度,6~255,不能为0,文件后缀统一为.lzma"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBEpo\/nameLength","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibepo\/namelength"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBEpo/description":{"role":"symbol","title":"description","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"description"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBEpo\/description","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibepo\/description"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBEpo/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBEpo\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibepo\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBEpo/UID":{"role":"symbol","title":"UID","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"UID"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"文件编号,1~255"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBEpo\/UID","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibepo\/uid"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"description"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":" { "},{"kind":"keyword","text":"get"},{"kind":"text","text":" }"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibepo\/description"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBEpo\/description","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"description"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"title":"description","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth5IBEpoC11descriptionSSvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBEpo"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBEpo/description":{"role":"symbol","title":"description","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"description"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBEpo\/description","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibepo\/description"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBEpo":{"role":"symbol","title":"IBEpo","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBEpo"}],"abstract":[{"type":"text","text":"IBEpo信息模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBEpo","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBEpo"}],"url":"\/documentation\/iotbluetooth\/ibepo"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"fileName"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibepo\/filename"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBEpo\/fileName","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"文件名称,名称字节数为前面名称长度指定,UTF-8编码"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"fileName"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"title":"fileName","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth5IBEpoC8fileNameSSvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBEpo"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBEpo/fileName":{"role":"symbol","title":"fileName","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"fileName"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"文件名称,名称字节数为前面名称长度指定,UTF-8编码"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBEpo\/fileName","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibepo\/filename"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBEpo":{"role":"symbol","title":"IBEpo","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBEpo"}],"abstract":[{"type":"text","text":"IBEpo信息模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBEpo","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBEpo"}],"url":"\/documentation\/iotbluetooth\/ibepo"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"filePath"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibepo\/filepath"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBEpo\/filePath","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"文件路径"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"filePath"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"title":"filePath","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth5IBEpoC8filePathSSvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBEpo"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBEpo/filePath":{"role":"symbol","title":"filePath","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"filePath"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"文件路径"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBEpo\/filePath","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibepo\/filepath"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBEpo":{"role":"symbol","title":"IBEpo","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBEpo"}],"abstract":[{"type":"text","text":"IBEpo信息模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBEpo","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBEpo"}],"url":"\/documentation\/iotbluetooth\/ibepo"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"()"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibepo\/init()"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBEpo\/init()","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"title":"init()","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth5IBEpoCACycfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBEpo"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBEpo":{"role":"symbol","title":"IBEpo","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBEpo"}],"abstract":[{"type":"text","text":"IBEpo信息模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBEpo","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBEpo"}],"url":"\/documentation\/iotbluetooth\/ibepo"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBEpo/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBEpo\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibepo\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"nameLength"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibepo\/namelength"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBEpo\/nameLength","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"文件名称长度,6~255,不能为0,文件后缀统一为.lzma"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"nameLength"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"nameLength","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth5IBEpoC10nameLengthSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBEpo"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBEpo":{"role":"symbol","title":"IBEpo","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBEpo"}],"abstract":[{"type":"text","text":"IBEpo信息模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBEpo","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBEpo"}],"url":"\/documentation\/iotbluetooth\/ibepo"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBEpo/nameLength":{"role":"symbol","title":"nameLength","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"nameLength"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"文件名称长度,6~255,不能为0,文件后缀统一为.lzma"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBEpo\/nameLength","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibepo\/namelength"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"UID"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibepo\/uid"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBEpo\/UID","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"文件编号,1~255"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"UID"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"UID","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth5IBEpoC3UIDSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBEpo"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBEpo/UID":{"role":"symbol","title":"UID","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"UID"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"文件编号,1~255"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBEpo\/UID","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibepo\/uid"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBEpo":{"role":"symbol","title":"IBEpo","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBEpo"}],"abstract":[{"type":"text","text":"IBEpo信息模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBEpo","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBEpo"}],"url":"\/documentation\/iotbluetooth\/ibepo"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFetchDialItem"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibfetchdialitem"],"traits":[{"interfaceLanguage":"swift"}]}],"relationshipsSections":[{"identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/Se","doc:\/\/com.thisiot.IOTBluetooth\/SE"],"kind":"relationships","title":"Conforms To","type":"conformsTo"}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFetchDialItem","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"获取指定类型文件表盘模型"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFetchDialItem"}],"title":"IBFetchDialItem","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:12IOTBluetooth15IBFetchDialItemC","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBFetchDialItem"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"topicSections":[{"title":"Initializers","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFetchDialItem\/init()","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFetchDialItem\/init(from:)"]}],"references":{"doc://com.thisiot.IOTBluetooth/Se":{"type":"unresolvable","title":"Swift.Decodable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/Se"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFetchDialItem/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFetchDialItem\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibfetchdialitem\/init()"},"doc://com.thisiot.IOTBluetooth/SE":{"type":"unresolvable","title":"Swift.Encodable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/SE"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFetchDialItem/init(from:)":{"role":"symbol","title":"init(from:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFetchDialItem\/init(from:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibfetchdialitem\/init(from:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFetchDialItem":{"role":"symbol","title":"IBFetchDialItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFetchDialItem"}],"abstract":[{"type":"text","text":"获取指定类型文件表盘模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFetchDialItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBFetchDialItem"}],"url":"\/documentation\/iotbluetooth\/ibfetchdialitem"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"()"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibfetchdialitem\/init()"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFetchDialItem\/init()","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"title":"init()","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth15IBFetchDialItemCACycfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFetchDialItem"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFetchDialItem/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFetchDialItem\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibfetchdialitem\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFetchDialItem":{"role":"symbol","title":"IBFetchDialItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFetchDialItem"}],"abstract":[{"type":"text","text":"获取指定类型文件表盘模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFetchDialItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBFetchDialItem"}],"url":"\/documentation\/iotbluetooth\/ibfetchdialitem"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":" "},{"kind":"internalParam","text":"decoder"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibfetchdialitem\/init(from:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFetchDialItem\/init(from:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"Decodable.init(from:)"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"title":"init(from:)","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth15IBFetchDialItemC4fromACs7Decoder_p_tKcfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFetchDialItem"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFetchDialItem/init(from:)":{"role":"symbol","title":"init(from:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFetchDialItem\/init(from:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibfetchdialitem\/init(from:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFetchDialItem":{"role":"symbol","title":"IBFetchDialItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFetchDialItem"}],"abstract":[{"type":"text","text":"获取指定类型文件表盘模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFetchDialItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBFetchDialItem"}],"url":"\/documentation\/iotbluetooth\/ibfetchdialitem"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFetchFile"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibfetchfile"],"traits":[{"interfaceLanguage":"swift"}]}],"relationshipsSections":[{"identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/Se","doc:\/\/com.thisiot.IOTBluetooth\/SE"],"kind":"relationships","title":"Conforms To","type":"conformsTo"}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFetchFile","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"获取指定类型文件目录模型"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFetchFile"}],"title":"IBFetchFile","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:12IOTBluetooth11IBFetchFileC","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBFetchFile"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"topicSections":[{"title":"Initializers","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFetchFile\/init()","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFetchFile\/init(from:)"]}],"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFetchFile":{"role":"symbol","title":"IBFetchFile","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFetchFile"}],"abstract":[{"type":"text","text":"获取指定类型文件目录模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFetchFile","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBFetchFile"}],"url":"\/documentation\/iotbluetooth\/ibfetchfile"},"doc://com.thisiot.IOTBluetooth/Se":{"type":"unresolvable","title":"Swift.Decodable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/Se"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFetchFile/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFetchFile\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibfetchfile\/init()"},"doc://com.thisiot.IOTBluetooth/SE":{"type":"unresolvable","title":"Swift.Encodable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/SE"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFetchFile/init(from:)":{"role":"symbol","title":"init(from:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFetchFile\/init(from:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibfetchfile\/init(from:)"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"()"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibfetchfile\/init()"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFetchFile\/init()","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"title":"init()","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth11IBFetchFileCACycfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFetchFile"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFetchFile/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFetchFile\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibfetchfile\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFetchFile":{"role":"symbol","title":"IBFetchFile","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFetchFile"}],"abstract":[{"type":"text","text":"获取指定类型文件目录模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFetchFile","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBFetchFile"}],"url":"\/documentation\/iotbluetooth\/ibfetchfile"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":" "},{"kind":"internalParam","text":"decoder"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibfetchfile\/init(from:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFetchFile\/init(from:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"Decodable.init(from:)"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"title":"init(from:)","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth11IBFetchFileC4fromACs7Decoder_p_tKcfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFetchFile"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFetchFile":{"role":"symbol","title":"IBFetchFile","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFetchFile"}],"abstract":[{"type":"text","text":"获取指定类型文件目录模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFetchFile","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBFetchFile"}],"url":"\/documentation\/iotbluetooth\/ibfetchfile"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFetchFile/init(from:)":{"role":"symbol","title":"init(from:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFetchFile\/init(from:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibfetchfile\/init(from:)"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFetchMp3Item"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibfetchmp3item"],"traits":[{"interfaceLanguage":"swift"}]}],"relationshipsSections":[{"identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/Se","doc:\/\/com.thisiot.IOTBluetooth\/SE"],"kind":"relationships","title":"Conforms To","type":"conformsTo"}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFetchMp3Item","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"获取指定类型文件MP3模型"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFetchMp3Item"}],"title":"IBFetchMp3Item","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:12IOTBluetooth14IBFetchMp3ItemC","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBFetchMp3Item"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"topicSections":[{"title":"Initializers","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFetchMp3Item\/init()","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFetchMp3Item\/init(from:)"]}],"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFetchMp3Item":{"role":"symbol","title":"IBFetchMp3Item","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFetchMp3Item"}],"abstract":[{"type":"text","text":"获取指定类型文件MP3模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFetchMp3Item","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBFetchMp3Item"}],"url":"\/documentation\/iotbluetooth\/ibfetchmp3item"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/Se":{"type":"unresolvable","title":"Swift.Decodable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/Se"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFetchMp3Item/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFetchMp3Item\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibfetchmp3item\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFetchMp3Item/init(from:)":{"role":"symbol","title":"init(from:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFetchMp3Item\/init(from:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibfetchmp3item\/init(from:)"},"doc://com.thisiot.IOTBluetooth/SE":{"type":"unresolvable","title":"Swift.Encodable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/SE"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"()"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibfetchmp3item\/init()"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFetchMp3Item\/init()","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"title":"init()","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth14IBFetchMp3ItemCACycfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFetchMp3Item"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFetchMp3Item/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFetchMp3Item\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibfetchmp3item\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFetchMp3Item":{"role":"symbol","title":"IBFetchMp3Item","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFetchMp3Item"}],"abstract":[{"type":"text","text":"获取指定类型文件MP3模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFetchMp3Item","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBFetchMp3Item"}],"url":"\/documentation\/iotbluetooth\/ibfetchmp3item"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":" "},{"kind":"internalParam","text":"decoder"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibfetchmp3item\/init(from:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFetchMp3Item\/init(from:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"Decodable.init(from:)"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"title":"init(from:)","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth14IBFetchMp3ItemC4fromACs7Decoder_p_tKcfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFetchMp3Item"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFetchMp3Item/init(from:)":{"role":"symbol","title":"init(from:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFetchMp3Item\/init(from:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibfetchmp3item\/init(from:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFetchMp3Item":{"role":"symbol","title":"IBFetchMp3Item","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFetchMp3Item"}],"abstract":[{"type":"text","text":"获取指定类型文件MP3模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFetchMp3Item","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBFetchMp3Item"}],"url":"\/documentation\/iotbluetooth\/ibfetchmp3item"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFile"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibfile"],"traits":[{"interfaceLanguage":"swift"}]}],"relationshipsSections":[{"identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/Se","doc:\/\/com.thisiot.IOTBluetooth\/SE","doc:\/\/com.thisiot.IOTBluetooth\/SQ","doc:\/\/com.thisiot.IOTBluetooth\/SH","doc:\/\/com.thisiot.IOTBluetooth\/SY"],"kind":"relationships","title":"Conforms To","type":"conformsTo"}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile","interfaceLanguage":"swift"},"topicSections":[{"title":"Enumeration Cases","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile\/dial","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile\/epo","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile\/mp3","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile\/ota","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile\/ota_w4"]},{"title":"Initializers","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile\/init(rawValue:)"]},{"title":"Default Implementations","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile\/Equatable-Implementations","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile\/RawRepresentable-Implementations"],"generated":true}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFile"}],"title":"IBFile","roleHeading":"Enumeration","role":"symbol","symbolKind":"enum","externalID":"s:12IOTBluetooth6IBFileO","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBFile"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFile/mp3":{"role":"symbol","title":"IBFile.mp3","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"mp3"}],"abstract":[{"type":"text","text":"MP3 文件"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile\/mp3","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibfile\/mp3"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFile/dial":{"role":"symbol","title":"IBFile.dial","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"dial"}],"abstract":[{"type":"text","text":"表盘信息"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile\/dial","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibfile\/dial"},"doc://com.thisiot.IOTBluetooth/Se":{"type":"unresolvable","title":"Swift.Decodable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/Se"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFile":{"role":"symbol","title":"IBFile","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFile"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBFile"}],"url":"\/documentation\/iotbluetooth\/ibfile"},"doc://com.thisiot.IOTBluetooth/SY":{"type":"unresolvable","title":"Swift.RawRepresentable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/SY"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFile/ota":{"role":"symbol","title":"IBFile.ota","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"ota"}],"abstract":[{"type":"text","text":"OTA 文件"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile\/ota","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibfile\/ota"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFile/init(rawValue:)":{"role":"symbol","title":"init(rawValue:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"?("},{"kind":"externalParam","text":"rawValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile\/init(rawValue:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibfile\/init(rawvalue:)"},"doc://com.thisiot.IOTBluetooth/SQ":{"type":"unresolvable","title":"Swift.Equatable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/SQ"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFile/epo":{"role":"symbol","title":"IBFile.epo","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"epo"}],"abstract":[{"type":"text","text":"EPO"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile\/epo","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibfile\/epo"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFile/Equatable-Implementations":{"role":"collectionGroup","title":"Equatable Implementations","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile\/Equatable-Implementations","kind":"article","type":"topic","url":"\/documentation\/iotbluetooth\/ibfile\/equatable-implementations"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFile/ota_w4":{"role":"symbol","title":"IBFile.ota_w4","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"ota_w4"}],"abstract":[{"type":"text","text":"OTA(W4)"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile\/ota_w4","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibfile\/ota_w4"},"doc://com.thisiot.IOTBluetooth/SH":{"type":"unresolvable","title":"Swift.Hashable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/SH"},"doc://com.thisiot.IOTBluetooth/SE":{"type":"unresolvable","title":"Swift.Encodable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/SE"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFile/RawRepresentable-Implementations":{"role":"collectionGroup","title":"RawRepresentable Implementations","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile\/RawRepresentable-Implementations","kind":"article","type":"topic","url":"\/documentation\/iotbluetooth\/ibfile\/rawrepresentable-implementations"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"!="},{"kind":"text","text":" "},{"kind":"text","text":"("},{"kind":"internalParam","text":"lhs"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":", "},{"kind":"internalParam","text":"rhs"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibfile\/!=(_:_:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile\/!=(_:_:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"Equatable.!=(_:_:)"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"role":"symbol","title":"!=(_:_:)","roleHeading":"Operator","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"!="},{"kind":"text","text":" "},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":", "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"symbolKind":"op","externalID":"s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:12IOTBluetooth6IBFileO","extendedModule":"Swift","modules":[{"name":"IOTBluetooth","relatedModules":["Swift"]}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile\/Equatable-Implementations"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFile/Equatable-Implementations":{"role":"collectionGroup","title":"Equatable Implementations","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile\/Equatable-Implementations","kind":"article","type":"topic","url":"\/documentation\/iotbluetooth\/ibfile\/equatable-implementations"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFile/!=(_:_:)":{"role":"symbol","title":"!=(_:_:)","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"!="},{"kind":"text","text":" "},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":", "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile\/!=(_:_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibfile\/!=(_:_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFile":{"role":"symbol","title":"IBFile","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFile"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBFile"}],"url":"\/documentation\/iotbluetooth\/ibfile"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"dial"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibfile\/dial"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile\/dial","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"表盘信息"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"dial"}],"title":"IBFile.dial","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth6IBFileO4dialyA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFile/dial":{"role":"symbol","title":"IBFile.dial","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"dial"}],"abstract":[{"type":"text","text":"表盘信息"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile\/dial","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibfile\/dial"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFile":{"role":"symbol","title":"IBFile","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFile"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBFile"}],"url":"\/documentation\/iotbluetooth\/ibfile"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"encode"},{"kind":"text","text":"("},{"kind":"externalParam","text":"to"},{"kind":"text","text":" "},{"kind":"internalParam","text":"encoder"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Encoder","preciseIdentifier":"s:s7EncoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibfile\/encode(to:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile\/encode(to:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"RawRepresentable.encode(to:)"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Encodable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" is "},{"type":"codeVoice","code":"Int"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"encode(to:)","roleHeading":"Instance Method","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"encode"},{"kind":"text","text":"("},{"kind":"externalParam","text":"to"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Encoder","preciseIdentifier":"s:s7EncoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"symbolKind":"method","externalID":"s:SYsSERzSi8RawValueSYRtzrlE6encode2toys7Encoder_p_tKF::SYNTHESIZED::s:12IOTBluetooth6IBFileO","extendedModule":"Swift","modules":[{"name":"IOTBluetooth","relatedModules":["Swift"]}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile\/RawRepresentable-Implementations"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFile/encode(to:)":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Encodable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" is "},{"type":"codeVoice","code":"Int"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"encode(to:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"encode"},{"kind":"text","text":"("},{"kind":"externalParam","text":"to"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Encoder","preciseIdentifier":"s:s7EncoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile\/encode(to:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibfile\/encode(to:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFile":{"role":"symbol","title":"IBFile","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFile"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBFile"}],"url":"\/documentation\/iotbluetooth\/ibfile"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFile/RawRepresentable-Implementations":{"role":"collectionGroup","title":"RawRepresentable Implementations","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile\/RawRepresentable-Implementations","kind":"article","type":"topic","url":"\/documentation\/iotbluetooth\/ibfile\/rawrepresentable-implementations"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"epo"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibfile\/epo"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile\/epo","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"EPO"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"epo"}],"title":"IBFile.epo","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth6IBFileO3epoyA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFile":{"role":"symbol","title":"IBFile","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFile"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBFile"}],"url":"\/documentation\/iotbluetooth\/ibfile"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFile/epo":{"role":"symbol","title":"IBFile.epo","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"epo"}],"abstract":[{"type":"text","text":"EPO"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile\/epo","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibfile\/epo"}}}
\ No newline at end of file
--- /dev/null
+{"variants":[{"paths":["\/documentation\/iotbluetooth\/ibfile\/equatable-implementations"],"traits":[{"interfaceLanguage":"swift"}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile\/Equatable-Implementations","interfaceLanguage":"swift"},"topicSections":[{"title":"Operators","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile\/!=(_:_:)"],"generated":true}],"kind":"article","metadata":{"modules":[{"name":"IOTBluetooth"}],"role":"collectionGroup","title":"Equatable Implementations"},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFile/!=(_:_:)":{"role":"symbol","title":"!=(_:_:)","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"!="},{"kind":"text","text":" "},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":", "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile\/!=(_:_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibfile\/!=(_:_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFile":{"role":"symbol","title":"IBFile","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFile"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBFile"}],"url":"\/documentation\/iotbluetooth\/ibfile"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"hash"},{"kind":"text","text":"("},{"kind":"externalParam","text":"into"},{"kind":"text","text":" "},{"kind":"internalParam","text":"hasher"},{"kind":"text","text":": "},{"kind":"keyword","text":"inout"},{"kind":"text","text":" "},{"kind":"typeIdentifier","text":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibfile\/hash(into:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile\/hash(into:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"RawRepresentable.hash(into:)"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"hash(into:)","roleHeading":"Instance Method","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"hash"},{"kind":"text","text":"("},{"kind":"externalParam","text":"into"},{"kind":"text","text":": "},{"kind":"keyword","text":"inout"},{"kind":"text","text":" "},{"kind":"typeIdentifier","text":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","text":")"}],"symbolKind":"method","externalID":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF::SYNTHESIZED::s:12IOTBluetooth6IBFileO","extendedModule":"Swift","modules":[{"name":"IOTBluetooth","relatedModules":["Swift"]}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile\/RawRepresentable-Implementations"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFile/RawRepresentable-Implementations":{"role":"collectionGroup","title":"RawRepresentable Implementations","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile\/RawRepresentable-Implementations","kind":"article","type":"topic","url":"\/documentation\/iotbluetooth\/ibfile\/rawrepresentable-implementations"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFile/hash(into:)":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"hash(into:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"hash"},{"kind":"text","text":"("},{"kind":"externalParam","text":"into"},{"kind":"text","text":": "},{"kind":"keyword","text":"inout"},{"kind":"text","text":" "},{"kind":"typeIdentifier","text":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","text":")"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile\/hash(into:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibfile\/hash(into:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFile":{"role":"symbol","title":"IBFile","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFile"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBFile"}],"url":"\/documentation\/iotbluetooth\/ibfile"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"hashValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":" { "},{"kind":"keyword","text":"get"},{"kind":"text","text":" }"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibfile\/hashvalue"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile\/hashValue","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"RawRepresentable.hashValue"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"hashValue","roleHeading":"Instance Property","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"hashValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"symbolKind":"property","externalID":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:12IOTBluetooth6IBFileO","extendedModule":"Swift","modules":[{"name":"IOTBluetooth","relatedModules":["Swift"]}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile\/RawRepresentable-Implementations"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFile/hashValue":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"hashValue","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"hashValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile\/hashValue","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibfile\/hashvalue"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFile":{"role":"symbol","title":"IBFile","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFile"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBFile"}],"url":"\/documentation\/iotbluetooth\/ibfile"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFile/RawRepresentable-Implementations":{"role":"collectionGroup","title":"RawRepresentable Implementations","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile\/RawRepresentable-Implementations","kind":"article","type":"topic","url":"\/documentation\/iotbluetooth\/ibfile\/rawrepresentable-implementations"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":" "},{"kind":"internalParam","text":"decoder"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibfile\/init(from:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile\/init(from:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"RawRepresentable.init(from:)"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Decodable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" is "},{"type":"codeVoice","code":"Int"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"init(from:)","roleHeading":"Initializer","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"symbolKind":"init","externalID":"s:SYsSeRzSi8RawValueSYRtzrlE4fromxs7Decoder_p_tKcfc::SYNTHESIZED::s:12IOTBluetooth6IBFileO","extendedModule":"Swift","modules":[{"name":"IOTBluetooth","relatedModules":["Swift"]}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile\/RawRepresentable-Implementations"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFile":{"role":"symbol","title":"IBFile","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFile"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBFile"}],"url":"\/documentation\/iotbluetooth\/ibfile"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFile/init(from:)":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Decodable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" is "},{"type":"codeVoice","code":"Int"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"init(from:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile\/init(from:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibfile\/init(from:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFile/RawRepresentable-Implementations":{"role":"collectionGroup","title":"RawRepresentable Implementations","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile\/RawRepresentable-Implementations","kind":"article","type":"topic","url":"\/documentation\/iotbluetooth\/ibfile\/rawrepresentable-implementations"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"?("},{"kind":"externalParam","text":"rawValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibfile\/init(rawvalue:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile\/init(rawValue:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"RawRepresentable.init(rawValue:)"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"?("},{"kind":"externalParam","text":"rawValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}],"title":"init(rawValue:)","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth6IBFileO8rawValueACSgSi_tcfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFile/init(rawValue:)":{"role":"symbol","title":"init(rawValue:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"?("},{"kind":"externalParam","text":"rawValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile\/init(rawValue:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibfile\/init(rawvalue:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFile":{"role":"symbol","title":"IBFile","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFile"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBFile"}],"url":"\/documentation\/iotbluetooth\/ibfile"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"mp3"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibfile\/mp3"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile\/mp3","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"MP3 文件"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"mp3"}],"title":"IBFile.mp3","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth6IBFileO3mp3yA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFile":{"role":"symbol","title":"IBFile","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFile"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBFile"}],"url":"\/documentation\/iotbluetooth\/ibfile"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFile/mp3":{"role":"symbol","title":"IBFile.mp3","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"mp3"}],"abstract":[{"type":"text","text":"MP3 文件"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile\/mp3","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibfile\/mp3"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"ota"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibfile\/ota"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile\/ota","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"OTA 文件"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"ota"}],"title":"IBFile.ota","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth6IBFileO3otayA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFile/ota":{"role":"symbol","title":"IBFile.ota","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"ota"}],"abstract":[{"type":"text","text":"OTA 文件"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile\/ota","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibfile\/ota"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFile":{"role":"symbol","title":"IBFile","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFile"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBFile"}],"url":"\/documentation\/iotbluetooth\/ibfile"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"ota_w4"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibfile\/ota_w4"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile\/ota_w4","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"OTA(W4)"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"ota_w4"}],"title":"IBFile.ota_w4","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth6IBFileO6ota_w4yA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFile/ota_w4":{"role":"symbol","title":"IBFile.ota_w4","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"ota_w4"}],"abstract":[{"type":"text","text":"OTA(W4)"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile\/ota_w4","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibfile\/ota_w4"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFile":{"role":"symbol","title":"IBFile","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFile"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBFile"}],"url":"\/documentation\/iotbluetooth\/ibfile"}}}
\ No newline at end of file
--- /dev/null
+{"variants":[{"paths":["\/documentation\/iotbluetooth\/ibfile\/rawrepresentable-implementations"],"traits":[{"interfaceLanguage":"swift"}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile\/RawRepresentable-Implementations","interfaceLanguage":"swift"},"topicSections":[{"title":"Initializers","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile\/init(from:)"],"generated":true},{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile\/hashValue"],"generated":true},{"title":"Instance Methods","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile\/encode(to:)","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile\/hash(into:)"],"generated":true}],"kind":"article","metadata":{"modules":[{"name":"IOTBluetooth"}],"role":"collectionGroup","title":"RawRepresentable Implementations"},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFile/init(from:)":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Decodable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" is "},{"type":"codeVoice","code":"Int"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"init(from:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile\/init(from:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibfile\/init(from:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFile":{"role":"symbol","title":"IBFile","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFile"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBFile"}],"url":"\/documentation\/iotbluetooth\/ibfile"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFile/hashValue":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"hashValue","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"hashValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile\/hashValue","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibfile\/hashvalue"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFile/encode(to:)":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Encodable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" is "},{"type":"codeVoice","code":"Int"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"encode(to:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"encode"},{"kind":"text","text":"("},{"kind":"externalParam","text":"to"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Encoder","preciseIdentifier":"s:s7EncoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile\/encode(to:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibfile\/encode(to:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFile/hash(into:)":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"hash(into:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"hash"},{"kind":"text","text":"("},{"kind":"externalParam","text":"into"},{"kind":"text","text":": "},{"kind":"keyword","text":"inout"},{"kind":"text","text":" "},{"kind":"typeIdentifier","text":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","text":")"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile\/hash(into:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibfile\/hash(into:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFileSender"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibfilesender"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFileSender","interfaceLanguage":"swift"},"topicSections":[{"title":"Initializers","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFileSender\/init()"]},{"title":"Instance Methods","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFileSender\/dial(_:)","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFileSender\/mp3(_:)","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFileSender\/ota(_:)","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFileSender\/progress(_:)","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFileSender\/response(_:)","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFileSender\/revokeFileSend(_:)"]}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFileSender"}],"title":"IBFileSender","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:12IOTBluetooth12IBFileSenderC","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBFileSender"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFileSender/mp3(_:)":{"role":"symbol","title":"mp3(_:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"mp3"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBSendMp3","preciseIdentifier":"s:12IOTBluetooth9IBSendMp3C"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Self"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFileSender\/mp3(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibfilesender\/mp3(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFileSender/ota(_:)":{"role":"symbol","title":"ota(_:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"ota"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBSendOta","preciseIdentifier":"s:12IOTBluetooth9IBSendOtaC"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Self"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFileSender\/ota(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibfilesender\/ota(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFileSender/revokeFileSend(_:)":{"role":"symbol","title":"revokeFileSend(_:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"revokeFileSend"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBCompletionHandler","preciseIdentifier":"s:12IOTBluetooth19IBCompletionHandlera"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"撤销当前的文件传输"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFileSender\/revokeFileSend(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibfilesender\/revokefilesend(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFileSender/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFileSender\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibfilesender\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFileSender/progress(_:)":{"role":"symbol","title":"progress(_:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"progress"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBProgressHandler","preciseIdentifier":"s:12IOTBluetooth17IBProgressHandlera"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Self"}],"abstract":[{"type":"text","text":"进度"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFileSender\/progress(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibfilesender\/progress(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFileSender":{"role":"symbol","title":"IBFileSender","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFileSender"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFileSender","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBFileSender"}],"url":"\/documentation\/iotbluetooth\/ibfilesender"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFileSender/response(_:)":{"role":"symbol","title":"response(_:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"response"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBCompletionHandler","preciseIdentifier":"s:12IOTBluetooth19IBCompletionHandlera"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Self"}],"abstract":[{"type":"text","text":"执行与响应处理"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFileSender\/response(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibfilesender\/response(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFileSender/dial(_:)":{"role":"symbol","title":"dial(_:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"dial"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBDial","preciseIdentifier":"s:12IOTBluetooth6IBDialC"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Self"}],"abstract":[{"type":"text","text":"发送表盘"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFileSender\/dial(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibfilesender\/dial(_:)"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"dial"},{"kind":"text","text":"("},{"kind":"externalParam","text":"_"},{"kind":"text","text":" "},{"kind":"internalParam","text":"info"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDial","preciseIdentifier":"s:12IOTBluetooth6IBDialC","text":"IBDial"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Self"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"parameters","parameters":[{"name":"info","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"表盘信息"}]}]}]},{"kind":"content","content":[{"anchor":"return-value","level":2,"type":"heading","text":"Return Value"},{"type":"paragraph","inlineContent":[{"type":"text","text":"Self"}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibfilesender\/dial(_:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFileSender\/dial(_:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"发送表盘"}],"kind":"symbol","metadata":{"role":"symbol","title":"dial(_:)","roleHeading":"Instance Method","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"dial"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBDial","preciseIdentifier":"s:12IOTBluetooth6IBDialC"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Self"}],"symbolKind":"method","externalID":"s:12IOTBluetooth12IBFileSenderC4dialyACXDAA6IBDialCF","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFileSender"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDial":{"role":"symbol","title":"IBDial","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBDial"}],"abstract":[{"type":"text","text":"表盘文件汇总信息模型(目前只支持表盘市场)"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDial","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBDial"}],"url":"\/documentation\/iotbluetooth\/ibdial"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFileSender/dial(_:)":{"role":"symbol","title":"dial(_:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"dial"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBDial","preciseIdentifier":"s:12IOTBluetooth6IBDialC"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Self"}],"abstract":[{"type":"text","text":"发送表盘"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFileSender\/dial(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibfilesender\/dial(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFileSender":{"role":"symbol","title":"IBFileSender","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFileSender"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFileSender","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBFileSender"}],"url":"\/documentation\/iotbluetooth\/ibfilesender"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"()"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibfilesender\/init()"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFileSender\/init()","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"title":"init()","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth12IBFileSenderCACycfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFileSender"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFileSender/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFileSender\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibfilesender\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFileSender":{"role":"symbol","title":"IBFileSender","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFileSender"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFileSender","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBFileSender"}],"url":"\/documentation\/iotbluetooth\/ibfilesender"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"attribute","text":"@discardableResult"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"mp3"},{"kind":"text","text":"("},{"kind":"externalParam","text":"_"},{"kind":"text","text":" "},{"kind":"internalParam","text":"info"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendMp3","preciseIdentifier":"s:12IOTBluetooth9IBSendMp3C","text":"IBSendMp3"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Self"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibfilesender\/mp3(_:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFileSender\/mp3(_:)","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"role":"symbol","title":"mp3(_:)","roleHeading":"Instance Method","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"mp3"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBSendMp3","preciseIdentifier":"s:12IOTBluetooth9IBSendMp3C"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Self"}],"symbolKind":"method","externalID":"s:12IOTBluetooth12IBFileSenderC3mp3yACXDAA9IBSendMp3CF","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFileSender"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFileSender/mp3(_:)":{"role":"symbol","title":"mp3(_:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"mp3"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBSendMp3","preciseIdentifier":"s:12IOTBluetooth9IBSendMp3C"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Self"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFileSender\/mp3(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibfilesender\/mp3(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFileSender":{"role":"symbol","title":"IBFileSender","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFileSender"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFileSender","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBFileSender"}],"url":"\/documentation\/iotbluetooth\/ibfilesender"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendMp3":{"role":"symbol","title":"IBSendMp3","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSendMp3"}],"abstract":[{"type":"text","text":"发送mp3文件模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendMp3","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBSendMp3"}],"url":"\/documentation\/iotbluetooth\/ibsendmp3"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"attribute","text":"@discardableResult"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"ota"},{"kind":"text","text":"("},{"kind":"externalParam","text":"_"},{"kind":"text","text":" "},{"kind":"internalParam","text":"info"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendOta","preciseIdentifier":"s:12IOTBluetooth9IBSendOtaC","text":"IBSendOta"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Self"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibfilesender\/ota(_:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFileSender\/ota(_:)","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"role":"symbol","title":"ota(_:)","roleHeading":"Instance Method","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"ota"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBSendOta","preciseIdentifier":"s:12IOTBluetooth9IBSendOtaC"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Self"}],"symbolKind":"method","externalID":"s:12IOTBluetooth12IBFileSenderC3otayACXDAA9IBSendOtaCF","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFileSender"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendOta":{"role":"symbol","title":"IBSendOta","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSendOta"}],"abstract":[{"type":"text","text":"发送OTA文件模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendOta","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBSendOta"}],"url":"\/documentation\/iotbluetooth\/ibsendota"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFileSender":{"role":"symbol","title":"IBFileSender","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFileSender"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFileSender","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBFileSender"}],"url":"\/documentation\/iotbluetooth\/ibfilesender"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFileSender/ota(_:)":{"role":"symbol","title":"ota(_:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"ota"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBSendOta","preciseIdentifier":"s:12IOTBluetooth9IBSendOtaC"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Self"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFileSender\/ota(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibfilesender\/ota(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"attribute","text":"@discardableResult"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"progress"},{"kind":"text","text":"("},{"kind":"externalParam","text":"_"},{"kind":"text","text":" "},{"kind":"internalParam","text":"value"},{"kind":"text","text":": "},{"kind":"attribute","text":"@escaping"},{"kind":"text","text":" "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBProgressHandler","preciseIdentifier":"s:12IOTBluetooth17IBProgressHandlera","text":"IBProgressHandler"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Self"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibfilesender\/progress(_:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFileSender\/progress(_:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"进度"}],"kind":"symbol","metadata":{"role":"symbol","title":"progress(_:)","roleHeading":"Instance Method","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"progress"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBProgressHandler","preciseIdentifier":"s:12IOTBluetooth17IBProgressHandlera"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Self"}],"symbolKind":"method","externalID":"s:12IOTBluetooth12IBFileSenderC8progressyACXDySi_SitcF","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFileSender"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBProgressHandler":{"role":"symbol","title":"IBProgressHandler","fragments":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBProgressHandler"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBProgressHandler","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBProgressHandler"}],"url":"\/documentation\/iotbluetooth\/ibprogresshandler"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFileSender":{"role":"symbol","title":"IBFileSender","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFileSender"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFileSender","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBFileSender"}],"url":"\/documentation\/iotbluetooth\/ibfilesender"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFileSender/progress(_:)":{"role":"symbol","title":"progress(_:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"progress"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBProgressHandler","preciseIdentifier":"s:12IOTBluetooth17IBProgressHandlera"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Self"}],"abstract":[{"type":"text","text":"进度"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFileSender\/progress(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibfilesender\/progress(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"attribute","text":"@discardableResult"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"response"},{"kind":"text","text":"("},{"kind":"externalParam","text":"_"},{"kind":"text","text":" "},{"kind":"internalParam","text":"handler"},{"kind":"text","text":": "},{"kind":"attribute","text":"@escaping"},{"kind":"text","text":" "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCompletionHandler","preciseIdentifier":"s:12IOTBluetooth19IBCompletionHandlera","text":"IBCompletionHandler"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Self"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibfilesender\/response(_:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFileSender\/response(_:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"执行与响应处理"}],"kind":"symbol","metadata":{"role":"symbol","title":"response(_:)","roleHeading":"Instance Method","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"response"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBCompletionHandler","preciseIdentifier":"s:12IOTBluetooth19IBCompletionHandlera"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Self"}],"symbolKind":"method","externalID":"s:12IOTBluetooth12IBFileSenderC8responseyACXDyAA10IBResponseCcF","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFileSender"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFileSender/response(_:)":{"role":"symbol","title":"response(_:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"response"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBCompletionHandler","preciseIdentifier":"s:12IOTBluetooth19IBCompletionHandlera"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Self"}],"abstract":[{"type":"text","text":"执行与响应处理"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFileSender\/response(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibfilesender\/response(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBCompletionHandler":{"role":"symbol","title":"IBCompletionHandler","fragments":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBCompletionHandler"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCompletionHandler","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBCompletionHandler"}],"url":"\/documentation\/iotbluetooth\/ibcompletionhandler"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFileSender":{"role":"symbol","title":"IBFileSender","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFileSender"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFileSender","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBFileSender"}],"url":"\/documentation\/iotbluetooth\/ibfilesender"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"revokeFileSend"},{"kind":"text","text":"("},{"kind":"externalParam","text":"_"},{"kind":"text","text":" "},{"kind":"internalParam","text":"handler"},{"kind":"text","text":": "},{"kind":"attribute","text":"@escaping"},{"kind":"text","text":" "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCompletionHandler","preciseIdentifier":"s:12IOTBluetooth19IBCompletionHandlera","text":"IBCompletionHandler"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibfilesender\/revokefilesend(_:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFileSender\/revokeFileSend(_:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"撤销当前的文件传输"}],"kind":"symbol","metadata":{"role":"symbol","title":"revokeFileSend(_:)","roleHeading":"Instance Method","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"revokeFileSend"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBCompletionHandler","preciseIdentifier":"s:12IOTBluetooth19IBCompletionHandlera"},{"kind":"text","text":")"}],"symbolKind":"method","externalID":"s:12IOTBluetooth12IBFileSenderC14revokeFileSendyyyAA10IBResponseCcF","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFileSender"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFileSender/revokeFileSend(_:)":{"role":"symbol","title":"revokeFileSend(_:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"revokeFileSend"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBCompletionHandler","preciseIdentifier":"s:12IOTBluetooth19IBCompletionHandlera"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"撤销当前的文件传输"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFileSender\/revokeFileSend(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibfilesender\/revokefilesend(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBCompletionHandler":{"role":"symbol","title":"IBCompletionHandler","fragments":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBCompletionHandler"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCompletionHandler","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBCompletionHandler"}],"url":"\/documentation\/iotbluetooth\/ibcompletionhandler"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFileSender":{"role":"symbol","title":"IBFileSender","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFileSender"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFileSender","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBFileSender"}],"url":"\/documentation\/iotbluetooth\/ibfilesender"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFrequency"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibfrequency"],"traits":[{"interfaceLanguage":"swift"}]}],"relationshipsSections":[{"identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/SQ","doc:\/\/com.thisiot.IOTBluetooth\/SH","doc:\/\/com.thisiot.IOTBluetooth\/SY"],"kind":"relationships","title":"Conforms To","type":"conformsTo"}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"提醒频率"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFrequency"}],"title":"IBFrequency","roleHeading":"Enumeration","role":"symbol","symbolKind":"enum","externalID":"s:12IOTBluetooth11IBFrequencyO","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBFrequency"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"topicSections":[{"title":"Enumeration Cases","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency\/hour1","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency\/hour2","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency\/hour3","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency\/min30","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency\/none"]},{"title":"Initializers","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency\/init(rawValue:)"]},{"title":"Default Implementations","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency\/Equatable-Implementations","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency\/RawRepresentable-Implementations"],"generated":true}],"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFrequency/min30":{"role":"symbol","title":"IBFrequency.min30","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"min30"}],"abstract":[{"type":"text","text":"30分钟"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency\/min30","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibfrequency\/min30"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFrequency/hour3":{"role":"symbol","title":"IBFrequency.hour3","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"hour3"}],"abstract":[{"type":"text","text":"3小时"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency\/hour3","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibfrequency\/hour3"},"doc://com.thisiot.IOTBluetooth/SY":{"type":"unresolvable","title":"Swift.RawRepresentable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/SY"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFrequency/none":{"role":"symbol","title":"IBFrequency.none","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"none"}],"abstract":[{"type":"text","text":"其他情况"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency\/none","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibfrequency\/none"},"doc://com.thisiot.IOTBluetooth/SQ":{"type":"unresolvable","title":"Swift.Equatable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/SQ"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFrequency/RawRepresentable-Implementations":{"role":"collectionGroup","title":"RawRepresentable Implementations","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency\/RawRepresentable-Implementations","kind":"article","type":"topic","url":"\/documentation\/iotbluetooth\/ibfrequency\/rawrepresentable-implementations"},"doc://com.thisiot.IOTBluetooth/SH":{"type":"unresolvable","title":"Swift.Hashable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/SH"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFrequency/init(rawValue:)":{"role":"symbol","title":"init(rawValue:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"?("},{"kind":"externalParam","text":"rawValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency\/init(rawValue:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibfrequency\/init(rawvalue:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFrequency":{"role":"symbol","title":"IBFrequency","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFrequency"}],"abstract":[{"type":"text","text":"提醒频率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBFrequency"}],"url":"\/documentation\/iotbluetooth\/ibfrequency"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFrequency/hour2":{"role":"symbol","title":"IBFrequency.hour2","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"hour2"}],"abstract":[{"type":"text","text":"2小时"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency\/hour2","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibfrequency\/hour2"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFrequency/Equatable-Implementations":{"role":"collectionGroup","title":"Equatable Implementations","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency\/Equatable-Implementations","kind":"article","type":"topic","url":"\/documentation\/iotbluetooth\/ibfrequency\/equatable-implementations"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFrequency/hour1":{"role":"symbol","title":"IBFrequency.hour1","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"hour1"}],"abstract":[{"type":"text","text":"1小时"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency\/hour1","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibfrequency\/hour1"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"!="},{"kind":"text","text":" "},{"kind":"text","text":"("},{"kind":"internalParam","text":"lhs"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":", "},{"kind":"internalParam","text":"rhs"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibfrequency\/!=(_:_:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency\/!=(_:_:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"Equatable.!=(_:_:)"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"role":"symbol","title":"!=(_:_:)","roleHeading":"Operator","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"!="},{"kind":"text","text":" "},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":", "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"symbolKind":"op","externalID":"s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:12IOTBluetooth11IBFrequencyO","extendedModule":"Swift","modules":[{"name":"IOTBluetooth","relatedModules":["Swift"]}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency\/Equatable-Implementations"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFrequency/!=(_:_:)":{"role":"symbol","title":"!=(_:_:)","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"!="},{"kind":"text","text":" "},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":", "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency\/!=(_:_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibfrequency\/!=(_:_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFrequency/Equatable-Implementations":{"role":"collectionGroup","title":"Equatable Implementations","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency\/Equatable-Implementations","kind":"article","type":"topic","url":"\/documentation\/iotbluetooth\/ibfrequency\/equatable-implementations"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFrequency":{"role":"symbol","title":"IBFrequency","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFrequency"}],"abstract":[{"type":"text","text":"提醒频率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBFrequency"}],"url":"\/documentation\/iotbluetooth\/ibfrequency"}}}
\ No newline at end of file
--- /dev/null
+{"variants":[{"paths":["\/documentation\/iotbluetooth\/ibfrequency\/equatable-implementations"],"traits":[{"interfaceLanguage":"swift"}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency\/Equatable-Implementations","interfaceLanguage":"swift"},"topicSections":[{"title":"Operators","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency\/!=(_:_:)"],"generated":true}],"kind":"article","metadata":{"modules":[{"name":"IOTBluetooth"}],"role":"collectionGroup","title":"Equatable Implementations"},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFrequency/!=(_:_:)":{"role":"symbol","title":"!=(_:_:)","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"!="},{"kind":"text","text":" "},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":", "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency\/!=(_:_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibfrequency\/!=(_:_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFrequency":{"role":"symbol","title":"IBFrequency","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFrequency"}],"abstract":[{"type":"text","text":"提醒频率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBFrequency"}],"url":"\/documentation\/iotbluetooth\/ibfrequency"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"hash"},{"kind":"text","text":"("},{"kind":"externalParam","text":"into"},{"kind":"text","text":" "},{"kind":"internalParam","text":"hasher"},{"kind":"text","text":": "},{"kind":"keyword","text":"inout"},{"kind":"text","text":" "},{"kind":"typeIdentifier","text":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibfrequency\/hash(into:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency\/hash(into:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"RawRepresentable.hash(into:)"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"hash(into:)","roleHeading":"Instance Method","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"hash"},{"kind":"text","text":"("},{"kind":"externalParam","text":"into"},{"kind":"text","text":": "},{"kind":"keyword","text":"inout"},{"kind":"text","text":" "},{"kind":"typeIdentifier","text":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","text":")"}],"symbolKind":"method","externalID":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF::SYNTHESIZED::s:12IOTBluetooth11IBFrequencyO","extendedModule":"Swift","modules":[{"name":"IOTBluetooth","relatedModules":["Swift"]}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency\/RawRepresentable-Implementations"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFrequency/hash(into:)":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"hash(into:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"hash"},{"kind":"text","text":"("},{"kind":"externalParam","text":"into"},{"kind":"text","text":": "},{"kind":"keyword","text":"inout"},{"kind":"text","text":" "},{"kind":"typeIdentifier","text":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","text":")"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency\/hash(into:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibfrequency\/hash(into:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFrequency/RawRepresentable-Implementations":{"role":"collectionGroup","title":"RawRepresentable Implementations","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency\/RawRepresentable-Implementations","kind":"article","type":"topic","url":"\/documentation\/iotbluetooth\/ibfrequency\/rawrepresentable-implementations"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFrequency":{"role":"symbol","title":"IBFrequency","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFrequency"}],"abstract":[{"type":"text","text":"提醒频率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBFrequency"}],"url":"\/documentation\/iotbluetooth\/ibfrequency"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"hashValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":" { "},{"kind":"keyword","text":"get"},{"kind":"text","text":" }"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibfrequency\/hashvalue"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency\/hashValue","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"RawRepresentable.hashValue"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"hashValue","roleHeading":"Instance Property","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"hashValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"symbolKind":"property","externalID":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:12IOTBluetooth11IBFrequencyO","extendedModule":"Swift","modules":[{"name":"IOTBluetooth","relatedModules":["Swift"]}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency\/RawRepresentable-Implementations"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFrequency/RawRepresentable-Implementations":{"role":"collectionGroup","title":"RawRepresentable Implementations","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency\/RawRepresentable-Implementations","kind":"article","type":"topic","url":"\/documentation\/iotbluetooth\/ibfrequency\/rawrepresentable-implementations"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFrequency/hashValue":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"hashValue","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"hashValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency\/hashValue","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibfrequency\/hashvalue"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFrequency":{"role":"symbol","title":"IBFrequency","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFrequency"}],"abstract":[{"type":"text","text":"提醒频率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBFrequency"}],"url":"\/documentation\/iotbluetooth\/ibfrequency"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"hour1"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibfrequency\/hour1"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency\/hour1","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"1小时"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"hour1"}],"title":"IBFrequency.hour1","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth11IBFrequencyO5hour1yA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFrequency/hour1":{"role":"symbol","title":"IBFrequency.hour1","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"hour1"}],"abstract":[{"type":"text","text":"1小时"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency\/hour1","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibfrequency\/hour1"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFrequency":{"role":"symbol","title":"IBFrequency","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFrequency"}],"abstract":[{"type":"text","text":"提醒频率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBFrequency"}],"url":"\/documentation\/iotbluetooth\/ibfrequency"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"hour2"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibfrequency\/hour2"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency\/hour2","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"2小时"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"hour2"}],"title":"IBFrequency.hour2","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth11IBFrequencyO5hour2yA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFrequency":{"role":"symbol","title":"IBFrequency","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFrequency"}],"abstract":[{"type":"text","text":"提醒频率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBFrequency"}],"url":"\/documentation\/iotbluetooth\/ibfrequency"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFrequency/hour2":{"role":"symbol","title":"IBFrequency.hour2","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"hour2"}],"abstract":[{"type":"text","text":"2小时"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency\/hour2","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibfrequency\/hour2"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"hour3"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibfrequency\/hour3"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency\/hour3","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"3小时"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"hour3"}],"title":"IBFrequency.hour3","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth11IBFrequencyO5hour3yA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFrequency":{"role":"symbol","title":"IBFrequency","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFrequency"}],"abstract":[{"type":"text","text":"提醒频率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBFrequency"}],"url":"\/documentation\/iotbluetooth\/ibfrequency"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFrequency/hour3":{"role":"symbol","title":"IBFrequency.hour3","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"hour3"}],"abstract":[{"type":"text","text":"3小时"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency\/hour3","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibfrequency\/hour3"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"?("},{"kind":"externalParam","text":"rawValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibfrequency\/init(rawvalue:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency\/init(rawValue:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"RawRepresentable.init(rawValue:)"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"?("},{"kind":"externalParam","text":"rawValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}],"title":"init(rawValue:)","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth11IBFrequencyO8rawValueACSgSi_tcfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFrequency/init(rawValue:)":{"role":"symbol","title":"init(rawValue:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"?("},{"kind":"externalParam","text":"rawValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency\/init(rawValue:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibfrequency\/init(rawvalue:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFrequency":{"role":"symbol","title":"IBFrequency","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFrequency"}],"abstract":[{"type":"text","text":"提醒频率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBFrequency"}],"url":"\/documentation\/iotbluetooth\/ibfrequency"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"min30"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibfrequency\/min30"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency\/min30","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"30分钟"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"min30"}],"title":"IBFrequency.min30","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth11IBFrequencyO5min30yA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFrequency":{"role":"symbol","title":"IBFrequency","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFrequency"}],"abstract":[{"type":"text","text":"提醒频率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBFrequency"}],"url":"\/documentation\/iotbluetooth\/ibfrequency"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFrequency/min30":{"role":"symbol","title":"IBFrequency.min30","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"min30"}],"abstract":[{"type":"text","text":"30分钟"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency\/min30","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibfrequency\/min30"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"none"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibfrequency\/none"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency\/none","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"其他情况"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"none"}],"title":"IBFrequency.none","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth11IBFrequencyO4noneyA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFrequency":{"role":"symbol","title":"IBFrequency","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFrequency"}],"abstract":[{"type":"text","text":"提醒频率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBFrequency"}],"url":"\/documentation\/iotbluetooth\/ibfrequency"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFrequency/none":{"role":"symbol","title":"IBFrequency.none","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"none"}],"abstract":[{"type":"text","text":"其他情况"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency\/none","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibfrequency\/none"}}}
\ No newline at end of file
--- /dev/null
+{"variants":[{"paths":["\/documentation\/iotbluetooth\/ibfrequency\/rawrepresentable-implementations"],"traits":[{"interfaceLanguage":"swift"}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency\/RawRepresentable-Implementations","interfaceLanguage":"swift"},"topicSections":[{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency\/hashValue"],"generated":true},{"title":"Instance Methods","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency\/hash(into:)"],"generated":true}],"kind":"article","metadata":{"modules":[{"name":"IOTBluetooth"}],"role":"collectionGroup","title":"RawRepresentable Implementations"},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFrequency":{"role":"symbol","title":"IBFrequency","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFrequency"}],"abstract":[{"type":"text","text":"提醒频率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBFrequency"}],"url":"\/documentation\/iotbluetooth\/ibfrequency"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFrequency/hashValue":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"hashValue","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"hashValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency\/hashValue","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibfrequency\/hashvalue"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFrequency/hash(into:)":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"hash(into:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"hash"},{"kind":"text","text":"("},{"kind":"externalParam","text":"into"},{"kind":"text","text":": "},{"kind":"keyword","text":"inout"},{"kind":"text","text":" "},{"kind":"typeIdentifier","text":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","text":")"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency\/hash(into:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibfrequency\/hash(into:)"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHeartRate"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibheartrate"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRate","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"心率设置模型"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHeartRate"}],"title":"IBHeartRate","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:12IOTBluetooth11IBHeartRateC","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBHeartRate"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"topicSections":[{"title":"Initializers","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRate\/init()"]},{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRate\/higherOrLower","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRate\/rate","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRate\/state","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRate\/value"]}],"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHeartRate/rate":{"role":"symbol","title":"rate","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"rate"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBHeartRateFrequency","preciseIdentifier":"s:12IOTBluetooth20IBHeartRateFrequencyO"}],"abstract":[{"type":"text","text":"监测频率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRate\/rate","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibheartrate\/rate"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHeartRate/higherOrLower":{"role":"symbol","title":"higherOrLower","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"higherOrLower"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"心率区间阈值 高于或低于 0:低于 1:高于"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRate\/higherOrLower","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibheartrate\/higherorlower"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHeartRate/value":{"role":"symbol","title":"value","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"value"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"心率区间阈值 30~200"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRate\/value","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibheartrate\/value"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHeartRate":{"role":"symbol","title":"IBHeartRate","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHeartRate"}],"abstract":[{"type":"text","text":"心率设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRate","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHeartRate"}],"url":"\/documentation\/iotbluetooth\/ibheartrate"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHeartRate/state":{"role":"symbol","title":"state","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"state"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"心率提醒 0:关闭 1:开启。 为0时后面区间阈值无需设置。"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRate\/state","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibheartrate\/state"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHeartRate/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRate\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibheartrate\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"higherOrLower"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibheartrate\/higherorlower"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRate\/higherOrLower","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"心率区间阈值 高于或低于 0:低于 1:高于"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"higherOrLower"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"higherOrLower","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth11IBHeartRateC13higherOrLowerSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRate"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHeartRate/higherOrLower":{"role":"symbol","title":"higherOrLower","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"higherOrLower"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"心率区间阈值 高于或低于 0:低于 1:高于"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRate\/higherOrLower","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibheartrate\/higherorlower"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHeartRate":{"role":"symbol","title":"IBHeartRate","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHeartRate"}],"abstract":[{"type":"text","text":"心率设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRate","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHeartRate"}],"url":"\/documentation\/iotbluetooth\/ibheartrate"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"()"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibheartrate\/init()"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRate\/init()","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"title":"init()","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth11IBHeartRateCACycfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRate"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHeartRate":{"role":"symbol","title":"IBHeartRate","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHeartRate"}],"abstract":[{"type":"text","text":"心率设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRate","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHeartRate"}],"url":"\/documentation\/iotbluetooth\/ibheartrate"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHeartRate/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRate\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibheartrate\/init()"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"rate"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency","preciseIdentifier":"s:12IOTBluetooth20IBHeartRateFrequencyO","text":"IBHeartRateFrequency"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibheartrate\/rate"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRate\/rate","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"监测频率"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"rate"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBHeartRateFrequency","preciseIdentifier":"s:12IOTBluetooth20IBHeartRateFrequencyO"}],"title":"rate","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth11IBHeartRateC4rateAA0bC9FrequencyOvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRate"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHeartRateFrequency":{"role":"symbol","title":"IBHeartRateFrequency","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHeartRateFrequency"}],"abstract":[{"type":"text","text":"提醒频率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHeartRateFrequency"}],"url":"\/documentation\/iotbluetooth\/ibheartratefrequency"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHeartRate":{"role":"symbol","title":"IBHeartRate","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHeartRate"}],"abstract":[{"type":"text","text":"心率设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRate","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHeartRate"}],"url":"\/documentation\/iotbluetooth\/ibheartrate"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHeartRate/rate":{"role":"symbol","title":"rate","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"rate"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBHeartRateFrequency","preciseIdentifier":"s:12IOTBluetooth20IBHeartRateFrequencyO"}],"abstract":[{"type":"text","text":"监测频率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRate\/rate","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibheartrate\/rate"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"state"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibheartrate\/state"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRate\/state","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"心率提醒 0:关闭 1:开启。 为0时后面区间阈值无需设置。"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"state"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"state","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth11IBHeartRateC5stateSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRate"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHeartRate/state":{"role":"symbol","title":"state","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"state"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"心率提醒 0:关闭 1:开启。 为0时后面区间阈值无需设置。"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRate\/state","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibheartrate\/state"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHeartRate":{"role":"symbol","title":"IBHeartRate","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHeartRate"}],"abstract":[{"type":"text","text":"心率设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRate","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHeartRate"}],"url":"\/documentation\/iotbluetooth\/ibheartrate"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"value"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibheartrate\/value"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRate\/value","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"心率区间阈值 30~200"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"value"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"value","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth11IBHeartRateC5valueSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRate"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHeartRate/value":{"role":"symbol","title":"value","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"value"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"心率区间阈值 30~200"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRate\/value","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibheartrate\/value"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHeartRate":{"role":"symbol","title":"IBHeartRate","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHeartRate"}],"abstract":[{"type":"text","text":"心率设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRate","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHeartRate"}],"url":"\/documentation\/iotbluetooth\/ibheartrate"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHeartRateFrequency"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibheartratefrequency"],"traits":[{"interfaceLanguage":"swift"}]}],"relationshipsSections":[{"identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/SQ","doc:\/\/com.thisiot.IOTBluetooth\/SH","doc:\/\/com.thisiot.IOTBluetooth\/SY"],"kind":"relationships","title":"Conforms To","type":"conformsTo"}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"提醒频率"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHeartRateFrequency"}],"title":"IBHeartRateFrequency","roleHeading":"Enumeration","role":"symbol","symbolKind":"enum","externalID":"s:12IOTBluetooth20IBHeartRateFrequencyO","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBHeartRateFrequency"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"topicSections":[{"title":"Enumeration Cases","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency\/min1","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency\/min10","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency\/min5","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency\/none"]},{"title":"Initializers","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency\/init(rawValue:)"]},{"title":"Default Implementations","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency\/Equatable-Implementations","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency\/RawRepresentable-Implementations"],"generated":true}],"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHeartRateFrequency/Equatable-Implementations":{"role":"collectionGroup","title":"Equatable Implementations","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency\/Equatable-Implementations","kind":"article","type":"topic","url":"\/documentation\/iotbluetooth\/ibheartratefrequency\/equatable-implementations"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHeartRateFrequency/min1":{"role":"symbol","title":"IBHeartRateFrequency.min1","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"min1"}],"abstract":[{"type":"text","text":"1分钟"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency\/min1","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibheartratefrequency\/min1"},"doc://com.thisiot.IOTBluetooth/SQ":{"type":"unresolvable","title":"Swift.Equatable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/SQ"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/SH":{"type":"unresolvable","title":"Swift.Hashable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/SH"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHeartRateFrequency/min5":{"role":"symbol","title":"IBHeartRateFrequency.min5","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"min5"}],"abstract":[{"type":"text","text":"5分钟"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency\/min5","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibheartratefrequency\/min5"},"doc://com.thisiot.IOTBluetooth/SY":{"type":"unresolvable","title":"Swift.RawRepresentable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/SY"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHeartRateFrequency/min10":{"role":"symbol","title":"IBHeartRateFrequency.min10","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"min10"}],"abstract":[{"type":"text","text":"10分钟"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency\/min10","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibheartratefrequency\/min10"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHeartRateFrequency":{"role":"symbol","title":"IBHeartRateFrequency","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHeartRateFrequency"}],"abstract":[{"type":"text","text":"提醒频率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHeartRateFrequency"}],"url":"\/documentation\/iotbluetooth\/ibheartratefrequency"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHeartRateFrequency/init(rawValue:)":{"role":"symbol","title":"init(rawValue:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"?("},{"kind":"externalParam","text":"rawValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency\/init(rawValue:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibheartratefrequency\/init(rawvalue:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHeartRateFrequency/RawRepresentable-Implementations":{"role":"collectionGroup","title":"RawRepresentable Implementations","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency\/RawRepresentable-Implementations","kind":"article","type":"topic","url":"\/documentation\/iotbluetooth\/ibheartratefrequency\/rawrepresentable-implementations"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHeartRateFrequency/none":{"role":"symbol","title":"IBHeartRateFrequency.none","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"none"}],"abstract":[{"type":"text","text":"关闭"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency\/none","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibheartratefrequency\/none"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"!="},{"kind":"text","text":" "},{"kind":"text","text":"("},{"kind":"internalParam","text":"lhs"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":", "},{"kind":"internalParam","text":"rhs"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibheartratefrequency\/!=(_:_:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency\/!=(_:_:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"Equatable.!=(_:_:)"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"role":"symbol","title":"!=(_:_:)","roleHeading":"Operator","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"!="},{"kind":"text","text":" "},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":", "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"symbolKind":"op","externalID":"s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:12IOTBluetooth20IBHeartRateFrequencyO","extendedModule":"Swift","modules":[{"name":"IOTBluetooth","relatedModules":["Swift"]}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency\/Equatable-Implementations"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHeartRateFrequency":{"role":"symbol","title":"IBHeartRateFrequency","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHeartRateFrequency"}],"abstract":[{"type":"text","text":"提醒频率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHeartRateFrequency"}],"url":"\/documentation\/iotbluetooth\/ibheartratefrequency"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHeartRateFrequency/Equatable-Implementations":{"role":"collectionGroup","title":"Equatable Implementations","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency\/Equatable-Implementations","kind":"article","type":"topic","url":"\/documentation\/iotbluetooth\/ibheartratefrequency\/equatable-implementations"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHeartRateFrequency/!=(_:_:)":{"role":"symbol","title":"!=(_:_:)","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"!="},{"kind":"text","text":" "},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":", "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency\/!=(_:_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibheartratefrequency\/!=(_:_:)"}}}
\ No newline at end of file
--- /dev/null
+{"variants":[{"paths":["\/documentation\/iotbluetooth\/ibheartratefrequency\/equatable-implementations"],"traits":[{"interfaceLanguage":"swift"}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency\/Equatable-Implementations","interfaceLanguage":"swift"},"topicSections":[{"title":"Operators","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency\/!=(_:_:)"],"generated":true}],"kind":"article","metadata":{"modules":[{"name":"IOTBluetooth"}],"role":"collectionGroup","title":"Equatable Implementations"},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHeartRateFrequency/!=(_:_:)":{"role":"symbol","title":"!=(_:_:)","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"!="},{"kind":"text","text":" "},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":", "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency\/!=(_:_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibheartratefrequency\/!=(_:_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHeartRateFrequency":{"role":"symbol","title":"IBHeartRateFrequency","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHeartRateFrequency"}],"abstract":[{"type":"text","text":"提醒频率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHeartRateFrequency"}],"url":"\/documentation\/iotbluetooth\/ibheartratefrequency"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"hash"},{"kind":"text","text":"("},{"kind":"externalParam","text":"into"},{"kind":"text","text":" "},{"kind":"internalParam","text":"hasher"},{"kind":"text","text":": "},{"kind":"keyword","text":"inout"},{"kind":"text","text":" "},{"kind":"typeIdentifier","text":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibheartratefrequency\/hash(into:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency\/hash(into:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"RawRepresentable.hash(into:)"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"hash(into:)","roleHeading":"Instance Method","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"hash"},{"kind":"text","text":"("},{"kind":"externalParam","text":"into"},{"kind":"text","text":": "},{"kind":"keyword","text":"inout"},{"kind":"text","text":" "},{"kind":"typeIdentifier","text":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","text":")"}],"symbolKind":"method","externalID":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF::SYNTHESIZED::s:12IOTBluetooth20IBHeartRateFrequencyO","extendedModule":"Swift","modules":[{"name":"IOTBluetooth","relatedModules":["Swift"]}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency\/RawRepresentable-Implementations"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHeartRateFrequency":{"role":"symbol","title":"IBHeartRateFrequency","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHeartRateFrequency"}],"abstract":[{"type":"text","text":"提醒频率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHeartRateFrequency"}],"url":"\/documentation\/iotbluetooth\/ibheartratefrequency"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHeartRateFrequency/hash(into:)":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"hash(into:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"hash"},{"kind":"text","text":"("},{"kind":"externalParam","text":"into"},{"kind":"text","text":": "},{"kind":"keyword","text":"inout"},{"kind":"text","text":" "},{"kind":"typeIdentifier","text":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","text":")"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency\/hash(into:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibheartratefrequency\/hash(into:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHeartRateFrequency/RawRepresentable-Implementations":{"role":"collectionGroup","title":"RawRepresentable Implementations","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency\/RawRepresentable-Implementations","kind":"article","type":"topic","url":"\/documentation\/iotbluetooth\/ibheartratefrequency\/rawrepresentable-implementations"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"hashValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":" { "},{"kind":"keyword","text":"get"},{"kind":"text","text":" }"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibheartratefrequency\/hashvalue"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency\/hashValue","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"RawRepresentable.hashValue"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"hashValue","roleHeading":"Instance Property","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"hashValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"symbolKind":"property","externalID":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:12IOTBluetooth20IBHeartRateFrequencyO","extendedModule":"Swift","modules":[{"name":"IOTBluetooth","relatedModules":["Swift"]}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency\/RawRepresentable-Implementations"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHeartRateFrequency/RawRepresentable-Implementations":{"role":"collectionGroup","title":"RawRepresentable Implementations","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency\/RawRepresentable-Implementations","kind":"article","type":"topic","url":"\/documentation\/iotbluetooth\/ibheartratefrequency\/rawrepresentable-implementations"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHeartRateFrequency/hashValue":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"hashValue","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"hashValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency\/hashValue","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibheartratefrequency\/hashvalue"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHeartRateFrequency":{"role":"symbol","title":"IBHeartRateFrequency","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHeartRateFrequency"}],"abstract":[{"type":"text","text":"提醒频率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHeartRateFrequency"}],"url":"\/documentation\/iotbluetooth\/ibheartratefrequency"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"?("},{"kind":"externalParam","text":"rawValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibheartratefrequency\/init(rawvalue:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency\/init(rawValue:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"RawRepresentable.init(rawValue:)"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"?("},{"kind":"externalParam","text":"rawValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}],"title":"init(rawValue:)","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth20IBHeartRateFrequencyO8rawValueACSgSi_tcfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHeartRateFrequency/init(rawValue:)":{"role":"symbol","title":"init(rawValue:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"?("},{"kind":"externalParam","text":"rawValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency\/init(rawValue:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibheartratefrequency\/init(rawvalue:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHeartRateFrequency":{"role":"symbol","title":"IBHeartRateFrequency","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHeartRateFrequency"}],"abstract":[{"type":"text","text":"提醒频率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHeartRateFrequency"}],"url":"\/documentation\/iotbluetooth\/ibheartratefrequency"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"min1"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibheartratefrequency\/min1"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency\/min1","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"1分钟"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"min1"}],"title":"IBHeartRateFrequency.min1","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth20IBHeartRateFrequencyO4min1yA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHeartRateFrequency":{"role":"symbol","title":"IBHeartRateFrequency","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHeartRateFrequency"}],"abstract":[{"type":"text","text":"提醒频率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHeartRateFrequency"}],"url":"\/documentation\/iotbluetooth\/ibheartratefrequency"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHeartRateFrequency/min1":{"role":"symbol","title":"IBHeartRateFrequency.min1","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"min1"}],"abstract":[{"type":"text","text":"1分钟"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency\/min1","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibheartratefrequency\/min1"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"min10"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibheartratefrequency\/min10"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency\/min10","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"10分钟"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"min10"}],"title":"IBHeartRateFrequency.min10","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth20IBHeartRateFrequencyO5min10yA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHeartRateFrequency/min10":{"role":"symbol","title":"IBHeartRateFrequency.min10","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"min10"}],"abstract":[{"type":"text","text":"10分钟"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency\/min10","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibheartratefrequency\/min10"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHeartRateFrequency":{"role":"symbol","title":"IBHeartRateFrequency","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHeartRateFrequency"}],"abstract":[{"type":"text","text":"提醒频率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHeartRateFrequency"}],"url":"\/documentation\/iotbluetooth\/ibheartratefrequency"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"min5"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibheartratefrequency\/min5"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency\/min5","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"5分钟"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"min5"}],"title":"IBHeartRateFrequency.min5","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth20IBHeartRateFrequencyO4min5yA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHeartRateFrequency/min5":{"role":"symbol","title":"IBHeartRateFrequency.min5","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"min5"}],"abstract":[{"type":"text","text":"5分钟"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency\/min5","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibheartratefrequency\/min5"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHeartRateFrequency":{"role":"symbol","title":"IBHeartRateFrequency","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHeartRateFrequency"}],"abstract":[{"type":"text","text":"提醒频率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHeartRateFrequency"}],"url":"\/documentation\/iotbluetooth\/ibheartratefrequency"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"none"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibheartratefrequency\/none"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency\/none","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"关闭"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"none"}],"title":"IBHeartRateFrequency.none","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth20IBHeartRateFrequencyO4noneyA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHeartRateFrequency":{"role":"symbol","title":"IBHeartRateFrequency","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHeartRateFrequency"}],"abstract":[{"type":"text","text":"提醒频率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHeartRateFrequency"}],"url":"\/documentation\/iotbluetooth\/ibheartratefrequency"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHeartRateFrequency/none":{"role":"symbol","title":"IBHeartRateFrequency.none","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"none"}],"abstract":[{"type":"text","text":"关闭"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency\/none","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibheartratefrequency\/none"}}}
\ No newline at end of file
--- /dev/null
+{"variants":[{"paths":["\/documentation\/iotbluetooth\/ibheartratefrequency\/rawrepresentable-implementations"],"traits":[{"interfaceLanguage":"swift"}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency\/RawRepresentable-Implementations","interfaceLanguage":"swift"},"topicSections":[{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency\/hashValue"],"generated":true},{"title":"Instance Methods","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency\/hash(into:)"],"generated":true}],"kind":"article","metadata":{"modules":[{"name":"IOTBluetooth"}],"role":"collectionGroup","title":"RawRepresentable Implementations"},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHeartRateFrequency/hash(into:)":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"hash(into:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"hash"},{"kind":"text","text":"("},{"kind":"externalParam","text":"into"},{"kind":"text","text":": "},{"kind":"keyword","text":"inout"},{"kind":"text","text":" "},{"kind":"typeIdentifier","text":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","text":")"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency\/hash(into:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibheartratefrequency\/hash(into:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHeartRateFrequency/hashValue":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"hashValue","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"hashValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency\/hashValue","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibheartratefrequency\/hashvalue"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHeartRateFrequency":{"role":"symbol","title":"IBHeartRateFrequency","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHeartRateFrequency"}],"abstract":[{"type":"text","text":"提醒频率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRateFrequency","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHeartRateFrequency"}],"url":"\/documentation\/iotbluetooth\/ibheartratefrequency"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryBaseTrainingItem"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibhistorybasetrainingitem"],"traits":[{"interfaceLanguage":"swift"}]}],"relationshipsSections":[{"identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/Se","doc:\/\/com.thisiot.IOTBluetooth\/SE"],"kind":"relationships","title":"Conforms To","type":"conformsTo"}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"基础训练历史数据模型"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryBaseTrainingItem"}],"title":"IBHistoryBaseTrainingItem","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:12IOTBluetooth25IBHistoryBaseTrainingItemC","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBHistoryBaseTrainingItem"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"topicSections":[{"title":"Initializers","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/init(from:)"]},{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/calorie","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/circle","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/distance","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/duration","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/elevation","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/heartRate","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/otherType","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/progress","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/source","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/star","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/step","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/stop","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/target","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/targetType","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/trainingLevel","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/trainingType"]}],"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBaseTrainingItem/otherType":{"role":"symbol","title":"otherType","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"otherType"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"(仅W4)0:健身类1:舞蹈类2:休闲运动3:球类4:水上项目5:冰上项目6:极限运动7:其他"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/otherType","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/othertype"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBaseTrainingItem/targetType":{"role":"symbol","title":"targetType","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"targetType"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"训练目标类型,0:路程 1:卡路里 2:时间 3:步数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/targetType","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/targettype"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBaseTrainingItem/source":{"role":"symbol","title":"source","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"source"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"0:手表开启的训练1:APP开启的训练"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/source","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/source"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBaseTrainingItem/progress":{"role":"symbol","title":"progress","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"progress"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"目标完成度,单位%"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/progress","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/progress"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBaseTrainingItem/trainingType":{"role":"symbol","title":"trainingType","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"trainingType"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"训练类型,0:健走1:跑步2:骑行以上适用W2\/W3,W4该字段表示各训练大类中的小类,对应训练名称参考 自由训练176.xlsx 表格。"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/trainingType","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/trainingtype"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBaseTrainingItem/heartRate":{"role":"symbol","title":"heartRate","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"heartRate"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"平均运动心率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/heartRate","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/heartrate"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBaseTrainingItem/target":{"role":"symbol","title":"target","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"target"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"训练目标 路程:单位米, 卡路里:单位kcal ,时间:单位分钟 ,步数:单位步"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/target","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/target"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBaseTrainingItem/elevation":{"role":"symbol","title":"elevation","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"elevation"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"最高海拔高度(仅限登山训练)"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/elevation","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/elevation"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBaseTrainingItem/star":{"role":"symbol","title":"star","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"star"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"训练开始时间戳,单位秒"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/star","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/star"},"doc://com.thisiot.IOTBluetooth/Se":{"type":"unresolvable","title":"Swift.Decodable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/Se"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBaseTrainingItem/duration":{"role":"symbol","title":"duration","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"duration"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"训练总时间,单位秒"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/duration","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/duration"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBaseTrainingItem/step":{"role":"symbol","title":"step","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"step"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"运动步数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/step","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/step"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBaseTrainingItem/trainingLevel":{"role":"symbol","title":"trainingLevel","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"trainingLevel"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"训练强度(仅W4), 0 = 较低强度,1 = 中等强度,2 = 高等强度,3 = 超高强度"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/trainingLevel","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/traininglevel"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBaseTrainingItem/calorie":{"role":"symbol","title":"calorie","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"calorie"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"卡路里,为该数值乘以0.1,单位kcal"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/calorie","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/calorie"},"doc://com.thisiot.IOTBluetooth/SE":{"type":"unresolvable","title":"Swift.Encodable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/SE"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBaseTrainingItem":{"role":"symbol","title":"IBHistoryBaseTrainingItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryBaseTrainingItem"}],"abstract":[{"type":"text","text":"基础训练历史数据模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistoryBaseTrainingItem"}],"url":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBaseTrainingItem/distance":{"role":"symbol","title":"distance","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"distance"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"距离,单位米"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/distance","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/distance"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBaseTrainingItem/stop":{"role":"symbol","title":"stop","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"stop"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"训练结束时间戳,单位秒"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/stop","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/stop"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBaseTrainingItem/init(from:)":{"role":"symbol","title":"init(from:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/init(from:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/init(from:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBaseTrainingItem/circle":{"role":"symbol","title":"circle","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"circle"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"圈数(仅限跑步训练)"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/circle","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/circle"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"calorie"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/calorie"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/calorie","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"卡路里,为该数值乘以0.1,单位kcal"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"calorie"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"title":"calorie","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth25IBHistoryBaseTrainingItemC7calorieSiSgvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBaseTrainingItem":{"role":"symbol","title":"IBHistoryBaseTrainingItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryBaseTrainingItem"}],"abstract":[{"type":"text","text":"基础训练历史数据模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistoryBaseTrainingItem"}],"url":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBaseTrainingItem/calorie":{"role":"symbol","title":"calorie","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"calorie"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"卡路里,为该数值乘以0.1,单位kcal"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/calorie","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/calorie"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"circle"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/circle"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/circle","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"圈数(仅限跑步训练)"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"circle"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"title":"circle","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth25IBHistoryBaseTrainingItemC6circleSiSgvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBaseTrainingItem/circle":{"role":"symbol","title":"circle","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"circle"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"圈数(仅限跑步训练)"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/circle","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/circle"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBaseTrainingItem":{"role":"symbol","title":"IBHistoryBaseTrainingItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryBaseTrainingItem"}],"abstract":[{"type":"text","text":"基础训练历史数据模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistoryBaseTrainingItem"}],"url":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"distance"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/distance"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/distance","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"距离,单位米"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"distance"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"title":"distance","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth25IBHistoryBaseTrainingItemC8distanceSiSgvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBaseTrainingItem/distance":{"role":"symbol","title":"distance","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"distance"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"距离,单位米"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/distance","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/distance"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBaseTrainingItem":{"role":"symbol","title":"IBHistoryBaseTrainingItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryBaseTrainingItem"}],"abstract":[{"type":"text","text":"基础训练历史数据模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistoryBaseTrainingItem"}],"url":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"duration"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/duration"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/duration","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"训练总时间,单位秒"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"duration"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"duration","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth25IBHistoryBaseTrainingItemC8durationSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBaseTrainingItem/duration":{"role":"symbol","title":"duration","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"duration"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"训练总时间,单位秒"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/duration","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/duration"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBaseTrainingItem":{"role":"symbol","title":"IBHistoryBaseTrainingItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryBaseTrainingItem"}],"abstract":[{"type":"text","text":"基础训练历史数据模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistoryBaseTrainingItem"}],"url":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"elevation"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/elevation"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/elevation","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"最高海拔高度(仅限登山训练)"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"elevation"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"title":"elevation","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth25IBHistoryBaseTrainingItemC9elevationSiSgvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBaseTrainingItem":{"role":"symbol","title":"IBHistoryBaseTrainingItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryBaseTrainingItem"}],"abstract":[{"type":"text","text":"基础训练历史数据模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistoryBaseTrainingItem"}],"url":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBaseTrainingItem/elevation":{"role":"symbol","title":"elevation","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"elevation"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"最高海拔高度(仅限登山训练)"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/elevation","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/elevation"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"heartRate"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/heartrate"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/heartRate","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"平均运动心率"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"heartRate"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"heartRate","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth25IBHistoryBaseTrainingItemC9heartRateSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBaseTrainingItem/heartRate":{"role":"symbol","title":"heartRate","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"heartRate"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"平均运动心率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/heartRate","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/heartrate"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBaseTrainingItem":{"role":"symbol","title":"IBHistoryBaseTrainingItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryBaseTrainingItem"}],"abstract":[{"type":"text","text":"基础训练历史数据模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistoryBaseTrainingItem"}],"url":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":" "},{"kind":"internalParam","text":"decoder"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/init(from:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/init(from:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"Decodable.init(from:)"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"title":"init(from:)","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth25IBHistoryBaseTrainingItemC4fromACs7Decoder_p_tKcfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBaseTrainingItem":{"role":"symbol","title":"IBHistoryBaseTrainingItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryBaseTrainingItem"}],"abstract":[{"type":"text","text":"基础训练历史数据模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistoryBaseTrainingItem"}],"url":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBaseTrainingItem/init(from:)":{"role":"symbol","title":"init(from:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/init(from:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/init(from:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"otherType"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/othertype"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/otherType","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"(仅W4)0:健身类1:舞蹈类2:休闲运动3:球类4:水上项目5:冰上项目6:极限运动7:其他"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"otherType"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"title":"otherType","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth25IBHistoryBaseTrainingItemC9otherTypeSiSgvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBaseTrainingItem":{"role":"symbol","title":"IBHistoryBaseTrainingItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryBaseTrainingItem"}],"abstract":[{"type":"text","text":"基础训练历史数据模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistoryBaseTrainingItem"}],"url":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBaseTrainingItem/otherType":{"role":"symbol","title":"otherType","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"otherType"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"(仅W4)0:健身类1:舞蹈类2:休闲运动3:球类4:水上项目5:冰上项目6:极限运动7:其他"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/otherType","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/othertype"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"progress"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/progress"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/progress","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"目标完成度,单位%"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"progress"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"progress","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth25IBHistoryBaseTrainingItemC8progressSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBaseTrainingItem/progress":{"role":"symbol","title":"progress","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"progress"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"目标完成度,单位%"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/progress","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/progress"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBaseTrainingItem":{"role":"symbol","title":"IBHistoryBaseTrainingItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryBaseTrainingItem"}],"abstract":[{"type":"text","text":"基础训练历史数据模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistoryBaseTrainingItem"}],"url":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"source"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/source"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/source","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"0:手表开启的训练1:APP开启的训练"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"source"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"source","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth25IBHistoryBaseTrainingItemC6sourceSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBaseTrainingItem":{"role":"symbol","title":"IBHistoryBaseTrainingItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryBaseTrainingItem"}],"abstract":[{"type":"text","text":"基础训练历史数据模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistoryBaseTrainingItem"}],"url":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBaseTrainingItem/source":{"role":"symbol","title":"source","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"source"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"0:手表开启的训练1:APP开启的训练"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/source","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/source"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"star"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/star"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/star","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"训练开始时间戳,单位秒"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"star"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"star","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth25IBHistoryBaseTrainingItemC4starSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBaseTrainingItem":{"role":"symbol","title":"IBHistoryBaseTrainingItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryBaseTrainingItem"}],"abstract":[{"type":"text","text":"基础训练历史数据模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistoryBaseTrainingItem"}],"url":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBaseTrainingItem/star":{"role":"symbol","title":"star","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"star"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"训练开始时间戳,单位秒"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/star","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/star"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"step"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/step"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/step","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"运动步数"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"step"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"title":"step","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth25IBHistoryBaseTrainingItemC4stepSiSgvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBaseTrainingItem/step":{"role":"symbol","title":"step","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"step"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"运动步数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/step","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/step"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBaseTrainingItem":{"role":"symbol","title":"IBHistoryBaseTrainingItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryBaseTrainingItem"}],"abstract":[{"type":"text","text":"基础训练历史数据模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistoryBaseTrainingItem"}],"url":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"stop"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/stop"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/stop","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"训练结束时间戳,单位秒"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"stop"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"stop","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth25IBHistoryBaseTrainingItemC4stopSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBaseTrainingItem":{"role":"symbol","title":"IBHistoryBaseTrainingItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryBaseTrainingItem"}],"abstract":[{"type":"text","text":"基础训练历史数据模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistoryBaseTrainingItem"}],"url":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBaseTrainingItem/stop":{"role":"symbol","title":"stop","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"stop"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"训练结束时间戳,单位秒"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/stop","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/stop"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"target"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/target"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/target","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"训练目标 路程:单位米, 卡路里:单位kcal ,时间:单位分钟 ,步数:单位步"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"target"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"target","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth25IBHistoryBaseTrainingItemC6targetSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBaseTrainingItem/target":{"role":"symbol","title":"target","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"target"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"训练目标 路程:单位米, 卡路里:单位kcal ,时间:单位分钟 ,步数:单位步"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/target","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/target"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBaseTrainingItem":{"role":"symbol","title":"IBHistoryBaseTrainingItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryBaseTrainingItem"}],"abstract":[{"type":"text","text":"基础训练历史数据模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistoryBaseTrainingItem"}],"url":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"targetType"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/targettype"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/targetType","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"训练目标类型,0:路程 1:卡路里 2:时间 3:步数"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"targetType"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"targetType","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth25IBHistoryBaseTrainingItemC10targetTypeSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBaseTrainingItem":{"role":"symbol","title":"IBHistoryBaseTrainingItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryBaseTrainingItem"}],"abstract":[{"type":"text","text":"基础训练历史数据模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistoryBaseTrainingItem"}],"url":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBaseTrainingItem/targetType":{"role":"symbol","title":"targetType","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"targetType"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"训练目标类型,0:路程 1:卡路里 2:时间 3:步数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/targetType","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/targettype"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"trainingLevel"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/traininglevel"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/trainingLevel","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"训练强度(仅W4), 0 = 较低强度,1 = 中等强度,2 = 高等强度,3 = 超高强度"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"trainingLevel"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"title":"trainingLevel","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth25IBHistoryBaseTrainingItemC13trainingLevelSiSgvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBaseTrainingItem/trainingLevel":{"role":"symbol","title":"trainingLevel","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"trainingLevel"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"训练强度(仅W4), 0 = 较低强度,1 = 中等强度,2 = 高等强度,3 = 超高强度"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/trainingLevel","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/traininglevel"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBaseTrainingItem":{"role":"symbol","title":"IBHistoryBaseTrainingItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryBaseTrainingItem"}],"abstract":[{"type":"text","text":"基础训练历史数据模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistoryBaseTrainingItem"}],"url":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"trainingType"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/trainingtype"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/trainingType","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"训练类型,0:健走1:跑步2:骑行以上适用W2\/W3,W4该字段表示各训练大类中的小类,对应训练名称参考 自由训练176.xlsx 表格。"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"trainingType"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"trainingType","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth25IBHistoryBaseTrainingItemC12trainingTypeSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBaseTrainingItem":{"role":"symbol","title":"IBHistoryBaseTrainingItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryBaseTrainingItem"}],"abstract":[{"type":"text","text":"基础训练历史数据模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistoryBaseTrainingItem"}],"url":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBaseTrainingItem/trainingType":{"role":"symbol","title":"trainingType","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"trainingType"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"训练类型,0:健走1:跑步2:骑行以上适用W2\/W3,W4该字段表示各训练大类中的小类,对应训练名称参考 自由训练176.xlsx 表格。"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBaseTrainingItem\/trainingType","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/trainingtype"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryBloodOxygenItem"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibhistorybloodoxygenitem"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBloodOxygenItem","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"血氧历史记录"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryBloodOxygenItem"}],"title":"IBHistoryBloodOxygenItem","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:12IOTBluetooth24IBHistoryBloodOxygenItemC","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBHistoryBloodOxygenItem"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"topicSections":[{"title":"Initializers","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBloodOxygenItem\/init()"]},{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBloodOxygenItem\/time","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBloodOxygenItem\/value"]}],"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBloodOxygenItem/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBloodOxygenItem\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorybloodoxygenitem\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBloodOxygenItem/value":{"role":"symbol","title":"value","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"value"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"血氧,单位%"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBloodOxygenItem\/value","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorybloodoxygenitem\/value"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBloodOxygenItem/time":{"role":"symbol","title":"time","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"time"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"时间戳"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBloodOxygenItem\/time","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorybloodoxygenitem\/time"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBloodOxygenItem":{"role":"symbol","title":"IBHistoryBloodOxygenItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryBloodOxygenItem"}],"abstract":[{"type":"text","text":"血氧历史记录"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBloodOxygenItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistoryBloodOxygenItem"}],"url":"\/documentation\/iotbluetooth\/ibhistorybloodoxygenitem"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"()"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibhistorybloodoxygenitem\/init()"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBloodOxygenItem\/init()","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"title":"init()","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth24IBHistoryBloodOxygenItemCACycfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBloodOxygenItem"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBloodOxygenItem/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBloodOxygenItem\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorybloodoxygenitem\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBloodOxygenItem":{"role":"symbol","title":"IBHistoryBloodOxygenItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryBloodOxygenItem"}],"abstract":[{"type":"text","text":"血氧历史记录"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBloodOxygenItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistoryBloodOxygenItem"}],"url":"\/documentation\/iotbluetooth\/ibhistorybloodoxygenitem"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"time"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibhistorybloodoxygenitem\/time"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBloodOxygenItem\/time","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"时间戳"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"time"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"time","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth24IBHistoryBloodOxygenItemC4timeSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBloodOxygenItem"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBloodOxygenItem":{"role":"symbol","title":"IBHistoryBloodOxygenItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryBloodOxygenItem"}],"abstract":[{"type":"text","text":"血氧历史记录"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBloodOxygenItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistoryBloodOxygenItem"}],"url":"\/documentation\/iotbluetooth\/ibhistorybloodoxygenitem"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBloodOxygenItem/time":{"role":"symbol","title":"time","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"time"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"时间戳"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBloodOxygenItem\/time","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorybloodoxygenitem\/time"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"value"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibhistorybloodoxygenitem\/value"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBloodOxygenItem\/value","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"血氧,单位%"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"value"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"value","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth24IBHistoryBloodOxygenItemC5valueSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBloodOxygenItem"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBloodOxygenItem":{"role":"symbol","title":"IBHistoryBloodOxygenItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryBloodOxygenItem"}],"abstract":[{"type":"text","text":"血氧历史记录"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBloodOxygenItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistoryBloodOxygenItem"}],"url":"\/documentation\/iotbluetooth\/ibhistorybloodoxygenitem"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBloodOxygenItem/value":{"role":"symbol","title":"value","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"value"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"血氧,单位%"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBloodOxygenItem\/value","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorybloodoxygenitem\/value"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryBurningItem"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibhistoryburningitem"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBurningItem","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"燃脂历史记录"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryBurningItem"}],"title":"IBHistoryBurningItem","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:12IOTBluetooth20IBHistoryBurningItemC","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBHistoryBurningItem"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"topicSections":[{"title":"Initializers","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBurningItem\/init()"]},{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBurningItem\/time","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBurningItem\/value"]}],"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBurningItem/time":{"role":"symbol","title":"time","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"time"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"时间戳"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBurningItem\/time","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistoryburningitem\/time"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBurningItem/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBurningItem\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistoryburningitem\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBurningItem/value":{"role":"symbol","title":"value","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"value"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"单位分钟"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBurningItem\/value","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistoryburningitem\/value"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBurningItem":{"role":"symbol","title":"IBHistoryBurningItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryBurningItem"}],"abstract":[{"type":"text","text":"燃脂历史记录"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBurningItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistoryBurningItem"}],"url":"\/documentation\/iotbluetooth\/ibhistoryburningitem"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"()"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibhistoryburningitem\/init()"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBurningItem\/init()","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"title":"init()","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth20IBHistoryBurningItemCACycfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBurningItem"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBurningItem/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBurningItem\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistoryburningitem\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBurningItem":{"role":"symbol","title":"IBHistoryBurningItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryBurningItem"}],"abstract":[{"type":"text","text":"燃脂历史记录"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBurningItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistoryBurningItem"}],"url":"\/documentation\/iotbluetooth\/ibhistoryburningitem"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"time"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibhistoryburningitem\/time"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBurningItem\/time","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"时间戳"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"time"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"time","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth20IBHistoryBurningItemC4timeSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBurningItem"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBurningItem/time":{"role":"symbol","title":"time","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"time"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"时间戳"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBurningItem\/time","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistoryburningitem\/time"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBurningItem":{"role":"symbol","title":"IBHistoryBurningItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryBurningItem"}],"abstract":[{"type":"text","text":"燃脂历史记录"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBurningItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistoryBurningItem"}],"url":"\/documentation\/iotbluetooth\/ibhistoryburningitem"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"value"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibhistoryburningitem\/value"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBurningItem\/value","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"单位分钟"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"value"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"value","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth20IBHistoryBurningItemC5valueSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBurningItem"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBurningItem/value":{"role":"symbol","title":"value","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"value"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"单位分钟"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBurningItem\/value","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistoryburningitem\/value"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryBurningItem":{"role":"symbol","title":"IBHistoryBurningItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryBurningItem"}],"abstract":[{"type":"text","text":"燃脂历史记录"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryBurningItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistoryBurningItem"}],"url":"\/documentation\/iotbluetooth\/ibhistoryburningitem"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryCalorieItem"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibhistorycalorieitem"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryCalorieItem","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"卡路里历史记录"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryCalorieItem"}],"title":"IBHistoryCalorieItem","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:12IOTBluetooth20IBHistoryCalorieItemC","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBHistoryCalorieItem"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"topicSections":[{"title":"Initializers","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryCalorieItem\/init()"]},{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryCalorieItem\/time","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryCalorieItem\/value"]}],"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryCalorieItem/value":{"role":"symbol","title":"value","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"value"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Float","preciseIdentifier":"s:Sf"}],"abstract":[{"type":"text","text":"单位kcal"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryCalorieItem\/value","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorycalorieitem\/value"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryCalorieItem/time":{"role":"symbol","title":"time","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"time"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"时间戳"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryCalorieItem\/time","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorycalorieitem\/time"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryCalorieItem":{"role":"symbol","title":"IBHistoryCalorieItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryCalorieItem"}],"abstract":[{"type":"text","text":"卡路里历史记录"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryCalorieItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistoryCalorieItem"}],"url":"\/documentation\/iotbluetooth\/ibhistorycalorieitem"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryCalorieItem/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryCalorieItem\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorycalorieitem\/init()"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"()"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibhistorycalorieitem\/init()"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryCalorieItem\/init()","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"title":"init()","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth20IBHistoryCalorieItemCACycfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryCalorieItem"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryCalorieItem/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryCalorieItem\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorycalorieitem\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryCalorieItem":{"role":"symbol","title":"IBHistoryCalorieItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryCalorieItem"}],"abstract":[{"type":"text","text":"卡路里历史记录"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryCalorieItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistoryCalorieItem"}],"url":"\/documentation\/iotbluetooth\/ibhistorycalorieitem"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"time"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibhistorycalorieitem\/time"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryCalorieItem\/time","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"时间戳"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"time"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"time","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth20IBHistoryCalorieItemC4timeSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryCalorieItem"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryCalorieItem/time":{"role":"symbol","title":"time","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"time"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"时间戳"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryCalorieItem\/time","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorycalorieitem\/time"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryCalorieItem":{"role":"symbol","title":"IBHistoryCalorieItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryCalorieItem"}],"abstract":[{"type":"text","text":"卡路里历史记录"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryCalorieItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistoryCalorieItem"}],"url":"\/documentation\/iotbluetooth\/ibhistorycalorieitem"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"value"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Float","preciseIdentifier":"s:Sf"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibhistorycalorieitem\/value"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryCalorieItem\/value","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"单位kcal"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"value"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Float","preciseIdentifier":"s:Sf"}],"title":"value","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth20IBHistoryCalorieItemC5valueSfvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryCalorieItem"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryCalorieItem/value":{"role":"symbol","title":"value","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"value"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Float","preciseIdentifier":"s:Sf"}],"abstract":[{"type":"text","text":"单位kcal"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryCalorieItem\/value","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorycalorieitem\/value"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryCalorieItem":{"role":"symbol","title":"IBHistoryCalorieItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryCalorieItem"}],"abstract":[{"type":"text","text":"卡路里历史记录"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryCalorieItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistoryCalorieItem"}],"url":"\/documentation\/iotbluetooth\/ibhistorycalorieitem"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryDistanceItem"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibhistorydistanceitem"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryDistanceItem","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"距离历史记录"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryDistanceItem"}],"title":"IBHistoryDistanceItem","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:12IOTBluetooth21IBHistoryDistanceItemC","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBHistoryDistanceItem"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"topicSections":[{"title":"Initializers","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryDistanceItem\/init()"]},{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryDistanceItem\/time","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryDistanceItem\/value"]}],"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryDistanceItem":{"role":"symbol","title":"IBHistoryDistanceItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryDistanceItem"}],"abstract":[{"type":"text","text":"距离历史记录"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryDistanceItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistoryDistanceItem"}],"url":"\/documentation\/iotbluetooth\/ibhistorydistanceitem"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryDistanceItem/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryDistanceItem\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorydistanceitem\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryDistanceItem/value":{"role":"symbol","title":"value","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"value"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Float","preciseIdentifier":"s:Sf"}],"abstract":[{"type":"text","text":"单位km"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryDistanceItem\/value","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorydistanceitem\/value"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryDistanceItem/time":{"role":"symbol","title":"time","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"time"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"时间戳"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryDistanceItem\/time","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorydistanceitem\/time"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"()"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibhistorydistanceitem\/init()"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryDistanceItem\/init()","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"title":"init()","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth21IBHistoryDistanceItemCACycfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryDistanceItem"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryDistanceItem/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryDistanceItem\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorydistanceitem\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryDistanceItem":{"role":"symbol","title":"IBHistoryDistanceItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryDistanceItem"}],"abstract":[{"type":"text","text":"距离历史记录"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryDistanceItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistoryDistanceItem"}],"url":"\/documentation\/iotbluetooth\/ibhistorydistanceitem"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"time"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibhistorydistanceitem\/time"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryDistanceItem\/time","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"时间戳"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"time"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"time","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth21IBHistoryDistanceItemC4timeSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryDistanceItem"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryDistanceItem":{"role":"symbol","title":"IBHistoryDistanceItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryDistanceItem"}],"abstract":[{"type":"text","text":"距离历史记录"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryDistanceItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistoryDistanceItem"}],"url":"\/documentation\/iotbluetooth\/ibhistorydistanceitem"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryDistanceItem/time":{"role":"symbol","title":"time","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"time"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"时间戳"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryDistanceItem\/time","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorydistanceitem\/time"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"value"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Float","preciseIdentifier":"s:Sf"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibhistorydistanceitem\/value"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryDistanceItem\/value","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"单位km"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"value"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Float","preciseIdentifier":"s:Sf"}],"title":"value","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth21IBHistoryDistanceItemC5valueSfvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryDistanceItem"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryDistanceItem/value":{"role":"symbol","title":"value","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"value"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Float","preciseIdentifier":"s:Sf"}],"abstract":[{"type":"text","text":"单位km"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryDistanceItem\/value","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorydistanceitem\/value"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryDistanceItem":{"role":"symbol","title":"IBHistoryDistanceItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryDistanceItem"}],"abstract":[{"type":"text","text":"距离历史记录"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryDistanceItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistoryDistanceItem"}],"url":"\/documentation\/iotbluetooth\/ibhistorydistanceitem"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryGps"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibhistorygps"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryGps","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"同步路径坐标历史数据模型"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryGps"}],"title":"IBHistoryGps","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:12IOTBluetooth12IBHistoryGpsC","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBHistoryGps"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryGps":{"role":"symbol","title":"IBHistoryGps","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryGps"}],"abstract":[{"type":"text","text":"同步路径坐标历史数据模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryGps","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistoryGps"}],"url":"\/documentation\/iotbluetooth\/ibhistorygps"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryGpsItem"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibhistorygpsitem"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryGpsItem","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"同步路径坐标历史数据模型"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryGpsItem"}],"title":"IBHistoryGpsItem","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:12IOTBluetooth16IBHistoryGpsItemC","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBHistoryGpsItem"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"topicSections":[{"title":"Initializers","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryGpsItem\/init()"]},{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryGpsItem\/lat","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryGpsItem\/lon","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryGpsItem\/time"]}],"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryGpsItem":{"role":"symbol","title":"IBHistoryGpsItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryGpsItem"}],"abstract":[{"type":"text","text":"同步路径坐标历史数据模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryGpsItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistoryGpsItem"}],"url":"\/documentation\/iotbluetooth\/ibhistorygpsitem"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryGpsItem/lon":{"role":"symbol","title":"lon","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"lon"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"经度,该值除以10000000得到实际经度值"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryGpsItem\/lon","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorygpsitem\/lon"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryGpsItem/time":{"role":"symbol","title":"time","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"time"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"unix时间戳"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryGpsItem\/time","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorygpsitem\/time"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryGpsItem/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryGpsItem\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorygpsitem\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryGpsItem/lat":{"role":"symbol","title":"lat","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"lat"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"纬度,该值除以10000000得到实际纬度值"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryGpsItem\/lat","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorygpsitem\/lat"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"()"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibhistorygpsitem\/init()"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryGpsItem\/init()","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"title":"init()","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth16IBHistoryGpsItemCACycfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryGpsItem"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryGpsItem/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryGpsItem\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorygpsitem\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryGpsItem":{"role":"symbol","title":"IBHistoryGpsItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryGpsItem"}],"abstract":[{"type":"text","text":"同步路径坐标历史数据模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryGpsItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistoryGpsItem"}],"url":"\/documentation\/iotbluetooth\/ibhistorygpsitem"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"lat"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibhistorygpsitem\/lat"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryGpsItem\/lat","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"纬度,该值除以10000000得到实际纬度值"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"lat"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"lat","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth16IBHistoryGpsItemC3latSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryGpsItem"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryGpsItem/lat":{"role":"symbol","title":"lat","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"lat"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"纬度,该值除以10000000得到实际纬度值"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryGpsItem\/lat","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorygpsitem\/lat"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryGpsItem":{"role":"symbol","title":"IBHistoryGpsItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryGpsItem"}],"abstract":[{"type":"text","text":"同步路径坐标历史数据模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryGpsItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistoryGpsItem"}],"url":"\/documentation\/iotbluetooth\/ibhistorygpsitem"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"lon"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibhistorygpsitem\/lon"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryGpsItem\/lon","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"经度,该值除以10000000得到实际经度值"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"lon"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"lon","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth16IBHistoryGpsItemC3lonSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryGpsItem"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryGpsItem/lon":{"role":"symbol","title":"lon","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"lon"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"经度,该值除以10000000得到实际经度值"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryGpsItem\/lon","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorygpsitem\/lon"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryGpsItem":{"role":"symbol","title":"IBHistoryGpsItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryGpsItem"}],"abstract":[{"type":"text","text":"同步路径坐标历史数据模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryGpsItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistoryGpsItem"}],"url":"\/documentation\/iotbluetooth\/ibhistorygpsitem"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"time"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibhistorygpsitem\/time"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryGpsItem\/time","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"unix时间戳"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"time"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"time","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth16IBHistoryGpsItemC4timeSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryGpsItem"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryGpsItem/time":{"role":"symbol","title":"time","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"time"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"unix时间戳"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryGpsItem\/time","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorygpsitem\/time"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryGpsItem":{"role":"symbol","title":"IBHistoryGpsItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryGpsItem"}],"abstract":[{"type":"text","text":"同步路径坐标历史数据模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryGpsItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistoryGpsItem"}],"url":"\/documentation\/iotbluetooth\/ibhistorygpsitem"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryHeartRateItem"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibhistoryheartrateitem"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryHeartRateItem","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"心率历史记录"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryHeartRateItem"}],"title":"IBHistoryHeartRateItem","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:12IOTBluetooth22IBHistoryHeartRateItemC","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBHistoryHeartRateItem"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"topicSections":[{"title":"Initializers","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryHeartRateItem\/init()"]},{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryHeartRateItem\/time","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryHeartRateItem\/value"]}],"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryHeartRateItem/time":{"role":"symbol","title":"time","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"time"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"时间戳"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryHeartRateItem\/time","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistoryheartrateitem\/time"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryHeartRateItem":{"role":"symbol","title":"IBHistoryHeartRateItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryHeartRateItem"}],"abstract":[{"type":"text","text":"心率历史记录"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryHeartRateItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistoryHeartRateItem"}],"url":"\/documentation\/iotbluetooth\/ibhistoryheartrateitem"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryHeartRateItem/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryHeartRateItem\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistoryheartrateitem\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryHeartRateItem/value":{"role":"symbol","title":"value","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"value"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"心率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryHeartRateItem\/value","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistoryheartrateitem\/value"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"()"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibhistoryheartrateitem\/init()"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryHeartRateItem\/init()","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"title":"init()","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth22IBHistoryHeartRateItemCACycfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryHeartRateItem"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryHeartRateItem/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryHeartRateItem\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistoryheartrateitem\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryHeartRateItem":{"role":"symbol","title":"IBHistoryHeartRateItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryHeartRateItem"}],"abstract":[{"type":"text","text":"心率历史记录"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryHeartRateItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistoryHeartRateItem"}],"url":"\/documentation\/iotbluetooth\/ibhistoryheartrateitem"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"time"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibhistoryheartrateitem\/time"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryHeartRateItem\/time","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"时间戳"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"time"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"time","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth22IBHistoryHeartRateItemC4timeSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryHeartRateItem"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryHeartRateItem":{"role":"symbol","title":"IBHistoryHeartRateItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryHeartRateItem"}],"abstract":[{"type":"text","text":"心率历史记录"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryHeartRateItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistoryHeartRateItem"}],"url":"\/documentation\/iotbluetooth\/ibhistoryheartrateitem"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryHeartRateItem/time":{"role":"symbol","title":"time","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"time"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"时间戳"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryHeartRateItem\/time","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistoryheartrateitem\/time"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"value"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibhistoryheartrateitem\/value"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryHeartRateItem\/value","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"心率"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"value"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"value","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth22IBHistoryHeartRateItemC5valueSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryHeartRateItem"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryHeartRateItem/value":{"role":"symbol","title":"value","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"value"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"心率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryHeartRateItem\/value","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistoryheartrateitem\/value"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryHeartRateItem":{"role":"symbol","title":"IBHistoryHeartRateItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryHeartRateItem"}],"abstract":[{"type":"text","text":"心率历史记录"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryHeartRateItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistoryHeartRateItem"}],"url":"\/documentation\/iotbluetooth\/ibhistoryheartrateitem"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistorySleepItem"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibhistorysleepitem"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"睡眠历史记录"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistorySleepItem"}],"title":"IBHistorySleepItem","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:12IOTBluetooth18IBHistorySleepItemC","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBHistorySleepItem"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"topicSections":[{"title":"Initializers","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem\/init()"]},{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem\/awake","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem\/deepSleep","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem\/endTime","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem\/lightSleep","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem\/remSleep","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem\/sleepId","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem\/startTime","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem\/states","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem\/totalSleep","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem\/type"]}],"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistorySleepItem/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorysleepitem\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistorySleepItem":{"role":"symbol","title":"IBHistorySleepItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistorySleepItem"}],"abstract":[{"type":"text","text":"睡眠历史记录"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistorySleepItem"}],"url":"\/documentation\/iotbluetooth\/ibhistorysleepitem"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistorySleepItem/states":{"role":"symbol","title":"states","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"states"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","text":"IBSleepState","preciseIdentifier":"s:12IOTBluetooth12IBSleepStateV"},{"kind":"text","text":"]?"}],"abstract":[{"type":"text","text":"睡眠状态"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem\/states","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorysleepitem\/states"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistorySleepItem/deepSleep":{"role":"symbol","title":"deepSleep","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"deepSleep"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBSleepTime","preciseIdentifier":"s:12IOTBluetooth11IBSleepTimeV"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"深睡时长"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem\/deepSleep","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorysleepitem\/deepsleep"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistorySleepItem/remSleep":{"role":"symbol","title":"remSleep","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"remSleep"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBSleepTime","preciseIdentifier":"s:12IOTBluetooth11IBSleepTimeV"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"快速动眼时长"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem\/remSleep","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorysleepitem\/remsleep"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistorySleepItem/type":{"role":"symbol","title":"type","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"type"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"睡眠类型,0:小睡(无总时长之后的所有项目)1:睡眠"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem\/type","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorysleepitem\/type"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistorySleepItem/endTime":{"role":"symbol","title":"endTime","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"endTime"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"出睡时间戳,Unix时间戳"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem\/endTime","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorysleepitem\/endtime"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistorySleepItem/awake":{"role":"symbol","title":"awake","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"awake"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBSleepTime","preciseIdentifier":"s:12IOTBluetooth11IBSleepTimeV"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"清醒时长"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem\/awake","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorysleepitem\/awake"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistorySleepItem/lightSleep":{"role":"symbol","title":"lightSleep","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"lightSleep"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBSleepTime","preciseIdentifier":"s:12IOTBluetooth11IBSleepTimeV"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"浅睡时长"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem\/lightSleep","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorysleepitem\/lightsleep"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistorySleepItem/startTime":{"role":"symbol","title":"startTime","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"startTime"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"入睡时间戳,Unix时间戳"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem\/startTime","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorysleepitem\/starttime"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistorySleepItem/totalSleep":{"role":"symbol","title":"totalSleep","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"totalSleep"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBSleepTime","preciseIdentifier":"s:12IOTBluetooth11IBSleepTimeV"}],"abstract":[{"type":"text","text":"总时长"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem\/totalSleep","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorysleepitem\/totalsleep"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistorySleepItem/sleepId":{"role":"symbol","title":"sleepId","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"sleepId"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"睡眠ID,0~255,表示第几次睡眠"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem\/sleepId","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorysleepitem\/sleepid"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"awake"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleepTime","preciseIdentifier":"s:12IOTBluetooth11IBSleepTimeV","text":"IBSleepTime"},{"kind":"text","text":"?"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibhistorysleepitem\/awake"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem\/awake","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"清醒时长"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"awake"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBSleepTime","preciseIdentifier":"s:12IOTBluetooth11IBSleepTimeV"},{"kind":"text","text":"?"}],"title":"awake","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth18IBHistorySleepItemC5awakeAA11IBSleepTimeVSgvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistorySleepItem/awake":{"role":"symbol","title":"awake","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"awake"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBSleepTime","preciseIdentifier":"s:12IOTBluetooth11IBSleepTimeV"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"清醒时长"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem\/awake","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorysleepitem\/awake"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSleepTime":{"role":"symbol","title":"IBSleepTime","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSleepTime"}],"abstract":[{"type":"text","text":"时间"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleepTime","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBSleepTime"}],"url":"\/documentation\/iotbluetooth\/ibsleeptime"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistorySleepItem":{"role":"symbol","title":"IBHistorySleepItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistorySleepItem"}],"abstract":[{"type":"text","text":"睡眠历史记录"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistorySleepItem"}],"url":"\/documentation\/iotbluetooth\/ibhistorysleepitem"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"deepSleep"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleepTime","preciseIdentifier":"s:12IOTBluetooth11IBSleepTimeV","text":"IBSleepTime"},{"kind":"text","text":"?"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibhistorysleepitem\/deepsleep"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem\/deepSleep","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"深睡时长"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"deepSleep"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBSleepTime","preciseIdentifier":"s:12IOTBluetooth11IBSleepTimeV"},{"kind":"text","text":"?"}],"title":"deepSleep","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth18IBHistorySleepItemC04deepC0AA11IBSleepTimeVSgvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistorySleepItem/deepSleep":{"role":"symbol","title":"deepSleep","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"deepSleep"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBSleepTime","preciseIdentifier":"s:12IOTBluetooth11IBSleepTimeV"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"深睡时长"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem\/deepSleep","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorysleepitem\/deepsleep"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistorySleepItem":{"role":"symbol","title":"IBHistorySleepItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistorySleepItem"}],"abstract":[{"type":"text","text":"睡眠历史记录"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistorySleepItem"}],"url":"\/documentation\/iotbluetooth\/ibhistorysleepitem"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSleepTime":{"role":"symbol","title":"IBSleepTime","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSleepTime"}],"abstract":[{"type":"text","text":"时间"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleepTime","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBSleepTime"}],"url":"\/documentation\/iotbluetooth\/ibsleeptime"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"endTime"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibhistorysleepitem\/endtime"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem\/endTime","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"出睡时间戳,Unix时间戳"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"endTime"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"endTime","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth18IBHistorySleepItemC7endTimeSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistorySleepItem":{"role":"symbol","title":"IBHistorySleepItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistorySleepItem"}],"abstract":[{"type":"text","text":"睡眠历史记录"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistorySleepItem"}],"url":"\/documentation\/iotbluetooth\/ibhistorysleepitem"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistorySleepItem/endTime":{"role":"symbol","title":"endTime","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"endTime"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"出睡时间戳,Unix时间戳"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem\/endTime","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorysleepitem\/endtime"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"()"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibhistorysleepitem\/init()"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem\/init()","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"title":"init()","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth18IBHistorySleepItemCACycfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistorySleepItem/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorysleepitem\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistorySleepItem":{"role":"symbol","title":"IBHistorySleepItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistorySleepItem"}],"abstract":[{"type":"text","text":"睡眠历史记录"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistorySleepItem"}],"url":"\/documentation\/iotbluetooth\/ibhistorysleepitem"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"lightSleep"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleepTime","preciseIdentifier":"s:12IOTBluetooth11IBSleepTimeV","text":"IBSleepTime"},{"kind":"text","text":"?"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibhistorysleepitem\/lightsleep"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem\/lightSleep","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"浅睡时长"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"lightSleep"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBSleepTime","preciseIdentifier":"s:12IOTBluetooth11IBSleepTimeV"},{"kind":"text","text":"?"}],"title":"lightSleep","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth18IBHistorySleepItemC05lightC0AA11IBSleepTimeVSgvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSleepTime":{"role":"symbol","title":"IBSleepTime","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSleepTime"}],"abstract":[{"type":"text","text":"时间"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleepTime","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBSleepTime"}],"url":"\/documentation\/iotbluetooth\/ibsleeptime"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistorySleepItem":{"role":"symbol","title":"IBHistorySleepItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistorySleepItem"}],"abstract":[{"type":"text","text":"睡眠历史记录"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistorySleepItem"}],"url":"\/documentation\/iotbluetooth\/ibhistorysleepitem"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistorySleepItem/lightSleep":{"role":"symbol","title":"lightSleep","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"lightSleep"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBSleepTime","preciseIdentifier":"s:12IOTBluetooth11IBSleepTimeV"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"浅睡时长"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem\/lightSleep","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorysleepitem\/lightsleep"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"remSleep"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleepTime","preciseIdentifier":"s:12IOTBluetooth11IBSleepTimeV","text":"IBSleepTime"},{"kind":"text","text":"?"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibhistorysleepitem\/remsleep"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem\/remSleep","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"快速动眼时长"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"remSleep"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBSleepTime","preciseIdentifier":"s:12IOTBluetooth11IBSleepTimeV"},{"kind":"text","text":"?"}],"title":"remSleep","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth18IBHistorySleepItemC03remC0AA11IBSleepTimeVSgvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistorySleepItem/remSleep":{"role":"symbol","title":"remSleep","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"remSleep"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBSleepTime","preciseIdentifier":"s:12IOTBluetooth11IBSleepTimeV"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"快速动眼时长"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem\/remSleep","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorysleepitem\/remsleep"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSleepTime":{"role":"symbol","title":"IBSleepTime","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSleepTime"}],"abstract":[{"type":"text","text":"时间"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleepTime","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBSleepTime"}],"url":"\/documentation\/iotbluetooth\/ibsleeptime"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistorySleepItem":{"role":"symbol","title":"IBHistorySleepItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistorySleepItem"}],"abstract":[{"type":"text","text":"睡眠历史记录"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistorySleepItem"}],"url":"\/documentation\/iotbluetooth\/ibhistorysleepitem"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"sleepId"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibhistorysleepitem\/sleepid"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem\/sleepId","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"睡眠ID,0~255,表示第几次睡眠"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"sleepId"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"sleepId","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth18IBHistorySleepItemC7sleepIdSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistorySleepItem":{"role":"symbol","title":"IBHistorySleepItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistorySleepItem"}],"abstract":[{"type":"text","text":"睡眠历史记录"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistorySleepItem"}],"url":"\/documentation\/iotbluetooth\/ibhistorysleepitem"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistorySleepItem/sleepId":{"role":"symbol","title":"sleepId","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"sleepId"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"睡眠ID,0~255,表示第几次睡眠"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem\/sleepId","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorysleepitem\/sleepid"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"startTime"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibhistorysleepitem\/starttime"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem\/startTime","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"入睡时间戳,Unix时间戳"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"startTime"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"startTime","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth18IBHistorySleepItemC9startTimeSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistorySleepItem":{"role":"symbol","title":"IBHistorySleepItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistorySleepItem"}],"abstract":[{"type":"text","text":"睡眠历史记录"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistorySleepItem"}],"url":"\/documentation\/iotbluetooth\/ibhistorysleepitem"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistorySleepItem/startTime":{"role":"symbol","title":"startTime","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"startTime"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"入睡时间戳,Unix时间戳"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem\/startTime","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorysleepitem\/starttime"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"states"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleepState","preciseIdentifier":"s:12IOTBluetooth12IBSleepStateV","text":"IBSleepState"},{"kind":"text","text":"]?"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibhistorysleepitem\/states"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem\/states","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"睡眠状态"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"states"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","text":"IBSleepState","preciseIdentifier":"s:12IOTBluetooth12IBSleepStateV"},{"kind":"text","text":"]?"}],"title":"states","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth18IBHistorySleepItemC6statesSayAA12IBSleepStateVGSgvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistorySleepItem":{"role":"symbol","title":"IBHistorySleepItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistorySleepItem"}],"abstract":[{"type":"text","text":"睡眠历史记录"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistorySleepItem"}],"url":"\/documentation\/iotbluetooth\/ibhistorysleepitem"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistorySleepItem/states":{"role":"symbol","title":"states","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"states"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","text":"IBSleepState","preciseIdentifier":"s:12IOTBluetooth12IBSleepStateV"},{"kind":"text","text":"]?"}],"abstract":[{"type":"text","text":"睡眠状态"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem\/states","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorysleepitem\/states"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSleepState":{"role":"symbol","title":"IBSleepState","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSleepState"}],"abstract":[{"type":"text","text":"睡眠状态"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleepState","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBSleepState"}],"url":"\/documentation\/iotbluetooth\/ibsleepstate"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"totalSleep"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleepTime","preciseIdentifier":"s:12IOTBluetooth11IBSleepTimeV","text":"IBSleepTime"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibhistorysleepitem\/totalsleep"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem\/totalSleep","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"总时长"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"totalSleep"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBSleepTime","preciseIdentifier":"s:12IOTBluetooth11IBSleepTimeV"}],"title":"totalSleep","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth18IBHistorySleepItemC05totalC0AA11IBSleepTimeVvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSleepTime":{"role":"symbol","title":"IBSleepTime","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSleepTime"}],"abstract":[{"type":"text","text":"时间"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleepTime","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBSleepTime"}],"url":"\/documentation\/iotbluetooth\/ibsleeptime"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistorySleepItem":{"role":"symbol","title":"IBHistorySleepItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistorySleepItem"}],"abstract":[{"type":"text","text":"睡眠历史记录"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistorySleepItem"}],"url":"\/documentation\/iotbluetooth\/ibhistorysleepitem"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistorySleepItem/totalSleep":{"role":"symbol","title":"totalSleep","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"totalSleep"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBSleepTime","preciseIdentifier":"s:12IOTBluetooth11IBSleepTimeV"}],"abstract":[{"type":"text","text":"总时长"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem\/totalSleep","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorysleepitem\/totalsleep"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"type"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibhistorysleepitem\/type"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem\/type","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"睡眠类型,0:小睡(无总时长之后的所有项目)1:睡眠"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"type"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"type","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth18IBHistorySleepItemC4typeSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistorySleepItem/type":{"role":"symbol","title":"type","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"type"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"睡眠类型,0:小睡(无总时长之后的所有项目)1:睡眠"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem\/type","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorysleepitem\/type"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistorySleepItem":{"role":"symbol","title":"IBHistorySleepItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistorySleepItem"}],"abstract":[{"type":"text","text":"睡眠历史记录"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistorySleepItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistorySleepItem"}],"url":"\/documentation\/iotbluetooth\/ibhistorysleepitem"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryStandItem"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibhistorystanditem"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryStandItem","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"站立历史记录"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryStandItem"}],"title":"IBHistoryStandItem","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:12IOTBluetooth18IBHistoryStandItemC","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBHistoryStandItem"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"topicSections":[{"title":"Initializers","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryStandItem\/init()"]},{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryStandItem\/time"]}],"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryStandItem/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryStandItem\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorystanditem\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryStandItem":{"role":"symbol","title":"IBHistoryStandItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryStandItem"}],"abstract":[{"type":"text","text":"站立历史记录"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryStandItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistoryStandItem"}],"url":"\/documentation\/iotbluetooth\/ibhistorystanditem"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryStandItem/time":{"role":"symbol","title":"time","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"time"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"时间戳"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryStandItem\/time","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorystanditem\/time"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"()"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibhistorystanditem\/init()"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryStandItem\/init()","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"title":"init()","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth18IBHistoryStandItemCACycfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryStandItem"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryStandItem/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryStandItem\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorystanditem\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryStandItem":{"role":"symbol","title":"IBHistoryStandItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryStandItem"}],"abstract":[{"type":"text","text":"站立历史记录"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryStandItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistoryStandItem"}],"url":"\/documentation\/iotbluetooth\/ibhistorystanditem"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"time"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibhistorystanditem\/time"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryStandItem\/time","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"时间戳"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"time"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"time","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth18IBHistoryStandItemC4timeSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryStandItem"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryStandItem/time":{"role":"symbol","title":"time","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"time"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"时间戳"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryStandItem\/time","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorystanditem\/time"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryStandItem":{"role":"symbol","title":"IBHistoryStandItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryStandItem"}],"abstract":[{"type":"text","text":"站立历史记录"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryStandItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistoryStandItem"}],"url":"\/documentation\/iotbluetooth\/ibhistorystanditem"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryStepItem"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibhistorystepitem"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryStepItem","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"步数历史记录"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryStepItem"}],"title":"IBHistoryStepItem","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:12IOTBluetooth17IBHistoryStepItemC","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBHistoryStepItem"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"topicSections":[{"title":"Initializers","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryStepItem\/init()"]},{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryStepItem\/time","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryStepItem\/value"]}],"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryStepItem/time":{"role":"symbol","title":"time","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"time"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"时间戳"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryStepItem\/time","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorystepitem\/time"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryStepItem/value":{"role":"symbol","title":"value","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"value"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"单位步"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryStepItem\/value","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorystepitem\/value"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryStepItem":{"role":"symbol","title":"IBHistoryStepItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryStepItem"}],"abstract":[{"type":"text","text":"步数历史记录"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryStepItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistoryStepItem"}],"url":"\/documentation\/iotbluetooth\/ibhistorystepitem"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryStepItem/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryStepItem\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorystepitem\/init()"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"()"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibhistorystepitem\/init()"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryStepItem\/init()","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"title":"init()","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth17IBHistoryStepItemCACycfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryStepItem"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryStepItem":{"role":"symbol","title":"IBHistoryStepItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryStepItem"}],"abstract":[{"type":"text","text":"步数历史记录"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryStepItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistoryStepItem"}],"url":"\/documentation\/iotbluetooth\/ibhistorystepitem"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryStepItem/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryStepItem\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorystepitem\/init()"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"time"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibhistorystepitem\/time"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryStepItem\/time","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"时间戳"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"time"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"time","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth17IBHistoryStepItemC4timeSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryStepItem"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryStepItem/time":{"role":"symbol","title":"time","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"time"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"时间戳"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryStepItem\/time","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorystepitem\/time"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryStepItem":{"role":"symbol","title":"IBHistoryStepItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryStepItem"}],"abstract":[{"type":"text","text":"步数历史记录"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryStepItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistoryStepItem"}],"url":"\/documentation\/iotbluetooth\/ibhistorystepitem"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"value"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibhistorystepitem\/value"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryStepItem\/value","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"单位步"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"value"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"value","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth17IBHistoryStepItemC5valueSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryStepItem"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryStepItem":{"role":"symbol","title":"IBHistoryStepItem","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHistoryStepItem"}],"abstract":[{"type":"text","text":"步数历史记录"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryStepItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHistoryStepItem"}],"url":"\/documentation\/iotbluetooth\/ibhistorystepitem"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHistoryStepItem/value":{"role":"symbol","title":"value","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"value"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"单位步"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHistoryStepItem\/value","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibhistorystepitem\/value"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBLanguage"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/iblanguage"],"traits":[{"interfaceLanguage":"swift"}]}],"relationshipsSections":[{"identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/SQ","doc:\/\/com.thisiot.IOTBluetooth\/SH","doc:\/\/com.thisiot.IOTBluetooth\/SY"],"kind":"relationships","title":"Conforms To","type":"conformsTo"}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"语言原始值从 0 开始递增"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBLanguage"}],"title":"IBLanguage","roleHeading":"Enumeration","role":"symbol","symbolKind":"enum","externalID":"s:12IOTBluetooth10IBLanguageO","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBLanguage"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"topicSections":[{"title":"Enumeration Cases","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/chinese","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/croatian","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/czech","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/dutch","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/english","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/finnish","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/french","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/german","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/greek","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/hindi","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/indonesian","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/italian","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/japanese","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/korean","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/malaysian","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/polish","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/portuguese","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/romanian","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/russian","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/spanish","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/thai","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/turkish","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/vietnamese"]},{"title":"Initializers","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/init(rawValue:)"]},{"title":"Default Implementations","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/Equatable-Implementations","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/RawRepresentable-Implementations"],"generated":true}],"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage/english":{"role":"symbol","title":"IBLanguage.english","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"english"}],"abstract":[{"type":"text","text":"英语"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/english","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/iblanguage\/english"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage/chinese":{"role":"symbol","title":"IBLanguage.chinese","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"chinese"}],"abstract":[{"type":"text","text":"中文"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/chinese","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/iblanguage\/chinese"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage/dutch":{"role":"symbol","title":"IBLanguage.dutch","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"dutch"}],"abstract":[{"type":"text","text":"荷兰语"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/dutch","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/iblanguage\/dutch"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage/czech":{"role":"symbol","title":"IBLanguage.czech","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"czech"}],"abstract":[{"type":"text","text":"捷克语"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/czech","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/iblanguage\/czech"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage/portuguese":{"role":"symbol","title":"IBLanguage.portuguese","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"portuguese"}],"abstract":[{"type":"text","text":"葡萄牙语"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/portuguese","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/iblanguage\/portuguese"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage/german":{"role":"symbol","title":"IBLanguage.german","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"german"}],"abstract":[{"type":"text","text":"德语"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/german","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/iblanguage\/german"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage/init(rawValue:)":{"role":"symbol","title":"init(rawValue:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"?("},{"kind":"externalParam","text":"rawValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/init(rawValue:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/iblanguage\/init(rawvalue:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage/croatian":{"role":"symbol","title":"IBLanguage.croatian","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"croatian"}],"abstract":[{"type":"text","text":"克罗地亚语"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/croatian","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/iblanguage\/croatian"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage/vietnamese":{"role":"symbol","title":"IBLanguage.vietnamese","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"vietnamese"}],"abstract":[{"type":"text","text":"越南语"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/vietnamese","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/iblanguage\/vietnamese"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage/spanish":{"role":"symbol","title":"IBLanguage.spanish","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"spanish"}],"abstract":[{"type":"text","text":"西班牙语"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/spanish","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/iblanguage\/spanish"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage/malaysian":{"role":"symbol","title":"IBLanguage.malaysian","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"malaysian"}],"abstract":[{"type":"text","text":"马来西亚语"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/malaysian","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/iblanguage\/malaysian"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage":{"role":"symbol","title":"IBLanguage","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBLanguage"}],"abstract":[{"type":"text","text":"语言原始值从 0 开始递增"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBLanguage"}],"url":"\/documentation\/iotbluetooth\/iblanguage"},"doc://com.thisiot.IOTBluetooth/SY":{"type":"unresolvable","title":"Swift.RawRepresentable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/SY"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage/RawRepresentable-Implementations":{"role":"collectionGroup","title":"RawRepresentable Implementations","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/RawRepresentable-Implementations","kind":"article","type":"topic","url":"\/documentation\/iotbluetooth\/iblanguage\/rawrepresentable-implementations"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage/french":{"role":"symbol","title":"IBLanguage.french","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"french"}],"abstract":[{"type":"text","text":"法语"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/french","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/iblanguage\/french"},"doc://com.thisiot.IOTBluetooth/SH":{"type":"unresolvable","title":"Swift.Hashable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/SH"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage/japanese":{"role":"symbol","title":"IBLanguage.japanese","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"japanese"}],"abstract":[{"type":"text","text":"日本语"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/japanese","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/iblanguage\/japanese"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage/russian":{"role":"symbol","title":"IBLanguage.russian","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"russian"}],"abstract":[{"type":"text","text":"俄语"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/russian","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/iblanguage\/russian"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage/romanian":{"role":"symbol","title":"IBLanguage.romanian","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"romanian"}],"abstract":[{"type":"text","text":"罗马尼亚语"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/romanian","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/iblanguage\/romanian"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage/hindi":{"role":"symbol","title":"IBLanguage.hindi","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"hindi"}],"abstract":[{"type":"text","text":"印度语"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/hindi","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/iblanguage\/hindi"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage/polish":{"role":"symbol","title":"IBLanguage.polish","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"polish"}],"abstract":[{"type":"text","text":"波兰语"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/polish","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/iblanguage\/polish"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage/Equatable-Implementations":{"role":"collectionGroup","title":"Equatable Implementations","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/Equatable-Implementations","kind":"article","type":"topic","url":"\/documentation\/iotbluetooth\/iblanguage\/equatable-implementations"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage/greek":{"role":"symbol","title":"IBLanguage.greek","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"greek"}],"abstract":[{"type":"text","text":"希腊语"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/greek","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/iblanguage\/greek"},"doc://com.thisiot.IOTBluetooth/SQ":{"type":"unresolvable","title":"Swift.Equatable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/SQ"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage/thai":{"role":"symbol","title":"IBLanguage.thai","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"thai"}],"abstract":[{"type":"text","text":"泰语"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/thai","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/iblanguage\/thai"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage/korean":{"role":"symbol","title":"IBLanguage.korean","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"korean"}],"abstract":[{"type":"text","text":"韩语"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/korean","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/iblanguage\/korean"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage/turkish":{"role":"symbol","title":"IBLanguage.turkish","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"turkish"}],"abstract":[{"type":"text","text":"土耳其语"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/turkish","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/iblanguage\/turkish"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage/italian":{"role":"symbol","title":"IBLanguage.italian","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"italian"}],"abstract":[{"type":"text","text":"意大利语"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/italian","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/iblanguage\/italian"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage/finnish":{"role":"symbol","title":"IBLanguage.finnish","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"finnish"}],"abstract":[{"type":"text","text":"芬兰语"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/finnish","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/iblanguage\/finnish"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage/indonesian":{"role":"symbol","title":"IBLanguage.indonesian","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"indonesian"}],"abstract":[{"type":"text","text":"印度尼西亚语"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/indonesian","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/iblanguage\/indonesian"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"!="},{"kind":"text","text":" "},{"kind":"text","text":"("},{"kind":"internalParam","text":"lhs"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":", "},{"kind":"internalParam","text":"rhs"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/iblanguage\/!=(_:_:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/!=(_:_:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"Equatable.!=(_:_:)"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"role":"symbol","title":"!=(_:_:)","roleHeading":"Operator","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"!="},{"kind":"text","text":" "},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":", "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"symbolKind":"op","externalID":"s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:12IOTBluetooth10IBLanguageO","extendedModule":"Swift","modules":[{"name":"IOTBluetooth","relatedModules":["Swift"]}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/Equatable-Implementations"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage":{"role":"symbol","title":"IBLanguage","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBLanguage"}],"abstract":[{"type":"text","text":"语言原始值从 0 开始递增"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBLanguage"}],"url":"\/documentation\/iotbluetooth\/iblanguage"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage/!=(_:_:)":{"role":"symbol","title":"!=(_:_:)","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"!="},{"kind":"text","text":" "},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":", "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/!=(_:_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/iblanguage\/!=(_:_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage/Equatable-Implementations":{"role":"collectionGroup","title":"Equatable Implementations","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/Equatable-Implementations","kind":"article","type":"topic","url":"\/documentation\/iotbluetooth\/iblanguage\/equatable-implementations"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"chinese"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/iblanguage\/chinese"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/chinese","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"中文"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"chinese"}],"title":"IBLanguage.chinese","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth10IBLanguageO7chineseyA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage/chinese":{"role":"symbol","title":"IBLanguage.chinese","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"chinese"}],"abstract":[{"type":"text","text":"中文"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/chinese","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/iblanguage\/chinese"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage":{"role":"symbol","title":"IBLanguage","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBLanguage"}],"abstract":[{"type":"text","text":"语言原始值从 0 开始递增"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBLanguage"}],"url":"\/documentation\/iotbluetooth\/iblanguage"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"croatian"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/iblanguage\/croatian"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/croatian","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"克罗地亚语"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"croatian"}],"title":"IBLanguage.croatian","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth10IBLanguageO8croatianyA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage":{"role":"symbol","title":"IBLanguage","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBLanguage"}],"abstract":[{"type":"text","text":"语言原始值从 0 开始递增"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBLanguage"}],"url":"\/documentation\/iotbluetooth\/iblanguage"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage/croatian":{"role":"symbol","title":"IBLanguage.croatian","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"croatian"}],"abstract":[{"type":"text","text":"克罗地亚语"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/croatian","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/iblanguage\/croatian"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"czech"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/iblanguage\/czech"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/czech","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"捷克语"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"czech"}],"title":"IBLanguage.czech","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth10IBLanguageO5czechyA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage/czech":{"role":"symbol","title":"IBLanguage.czech","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"czech"}],"abstract":[{"type":"text","text":"捷克语"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/czech","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/iblanguage\/czech"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage":{"role":"symbol","title":"IBLanguage","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBLanguage"}],"abstract":[{"type":"text","text":"语言原始值从 0 开始递增"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBLanguage"}],"url":"\/documentation\/iotbluetooth\/iblanguage"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"dutch"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/iblanguage\/dutch"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/dutch","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"荷兰语"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"dutch"}],"title":"IBLanguage.dutch","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth10IBLanguageO5dutchyA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage":{"role":"symbol","title":"IBLanguage","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBLanguage"}],"abstract":[{"type":"text","text":"语言原始值从 0 开始递增"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBLanguage"}],"url":"\/documentation\/iotbluetooth\/iblanguage"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage/dutch":{"role":"symbol","title":"IBLanguage.dutch","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"dutch"}],"abstract":[{"type":"text","text":"荷兰语"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/dutch","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/iblanguage\/dutch"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"english"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/iblanguage\/english"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/english","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"英语"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"english"}],"title":"IBLanguage.english","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth10IBLanguageO7englishyA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage/english":{"role":"symbol","title":"IBLanguage.english","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"english"}],"abstract":[{"type":"text","text":"英语"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/english","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/iblanguage\/english"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage":{"role":"symbol","title":"IBLanguage","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBLanguage"}],"abstract":[{"type":"text","text":"语言原始值从 0 开始递增"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBLanguage"}],"url":"\/documentation\/iotbluetooth\/iblanguage"}}}
\ No newline at end of file
--- /dev/null
+{"variants":[{"paths":["\/documentation\/iotbluetooth\/iblanguage\/equatable-implementations"],"traits":[{"interfaceLanguage":"swift"}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/Equatable-Implementations","interfaceLanguage":"swift"},"topicSections":[{"title":"Operators","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/!=(_:_:)"],"generated":true}],"kind":"article","metadata":{"modules":[{"name":"IOTBluetooth"}],"role":"collectionGroup","title":"Equatable Implementations"},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage":{"role":"symbol","title":"IBLanguage","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBLanguage"}],"abstract":[{"type":"text","text":"语言原始值从 0 开始递增"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBLanguage"}],"url":"\/documentation\/iotbluetooth\/iblanguage"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage/!=(_:_:)":{"role":"symbol","title":"!=(_:_:)","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"!="},{"kind":"text","text":" "},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":", "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/!=(_:_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/iblanguage\/!=(_:_:)"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"finnish"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/iblanguage\/finnish"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/finnish","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"芬兰语"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"finnish"}],"title":"IBLanguage.finnish","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth10IBLanguageO7finnishyA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage/finnish":{"role":"symbol","title":"IBLanguage.finnish","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"finnish"}],"abstract":[{"type":"text","text":"芬兰语"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/finnish","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/iblanguage\/finnish"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage":{"role":"symbol","title":"IBLanguage","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBLanguage"}],"abstract":[{"type":"text","text":"语言原始值从 0 开始递增"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBLanguage"}],"url":"\/documentation\/iotbluetooth\/iblanguage"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"french"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/iblanguage\/french"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/french","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"法语"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"french"}],"title":"IBLanguage.french","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth10IBLanguageO6frenchyA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage":{"role":"symbol","title":"IBLanguage","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBLanguage"}],"abstract":[{"type":"text","text":"语言原始值从 0 开始递增"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBLanguage"}],"url":"\/documentation\/iotbluetooth\/iblanguage"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage/french":{"role":"symbol","title":"IBLanguage.french","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"french"}],"abstract":[{"type":"text","text":"法语"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/french","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/iblanguage\/french"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"german"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/iblanguage\/german"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/german","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"德语"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"german"}],"title":"IBLanguage.german","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth10IBLanguageO6germanyA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage":{"role":"symbol","title":"IBLanguage","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBLanguage"}],"abstract":[{"type":"text","text":"语言原始值从 0 开始递增"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBLanguage"}],"url":"\/documentation\/iotbluetooth\/iblanguage"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage/german":{"role":"symbol","title":"IBLanguage.german","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"german"}],"abstract":[{"type":"text","text":"德语"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/german","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/iblanguage\/german"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"greek"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/iblanguage\/greek"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/greek","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"希腊语"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"greek"}],"title":"IBLanguage.greek","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth10IBLanguageO5greekyA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage":{"role":"symbol","title":"IBLanguage","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBLanguage"}],"abstract":[{"type":"text","text":"语言原始值从 0 开始递增"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBLanguage"}],"url":"\/documentation\/iotbluetooth\/iblanguage"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage/greek":{"role":"symbol","title":"IBLanguage.greek","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"greek"}],"abstract":[{"type":"text","text":"希腊语"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/greek","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/iblanguage\/greek"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"hash"},{"kind":"text","text":"("},{"kind":"externalParam","text":"into"},{"kind":"text","text":" "},{"kind":"internalParam","text":"hasher"},{"kind":"text","text":": "},{"kind":"keyword","text":"inout"},{"kind":"text","text":" "},{"kind":"typeIdentifier","text":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/iblanguage\/hash(into:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/hash(into:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"RawRepresentable.hash(into:)"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"hash(into:)","roleHeading":"Instance Method","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"hash"},{"kind":"text","text":"("},{"kind":"externalParam","text":"into"},{"kind":"text","text":": "},{"kind":"keyword","text":"inout"},{"kind":"text","text":" "},{"kind":"typeIdentifier","text":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","text":")"}],"symbolKind":"method","externalID":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF::SYNTHESIZED::s:12IOTBluetooth10IBLanguageO","extendedModule":"Swift","modules":[{"name":"IOTBluetooth","relatedModules":["Swift"]}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/RawRepresentable-Implementations"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage/hash(into:)":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"hash(into:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"hash"},{"kind":"text","text":"("},{"kind":"externalParam","text":"into"},{"kind":"text","text":": "},{"kind":"keyword","text":"inout"},{"kind":"text","text":" "},{"kind":"typeIdentifier","text":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","text":")"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/hash(into:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/iblanguage\/hash(into:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage":{"role":"symbol","title":"IBLanguage","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBLanguage"}],"abstract":[{"type":"text","text":"语言原始值从 0 开始递增"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBLanguage"}],"url":"\/documentation\/iotbluetooth\/iblanguage"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage/RawRepresentable-Implementations":{"role":"collectionGroup","title":"RawRepresentable Implementations","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/RawRepresentable-Implementations","kind":"article","type":"topic","url":"\/documentation\/iotbluetooth\/iblanguage\/rawrepresentable-implementations"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"hashValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":" { "},{"kind":"keyword","text":"get"},{"kind":"text","text":" }"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/iblanguage\/hashvalue"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/hashValue","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"RawRepresentable.hashValue"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"hashValue","roleHeading":"Instance Property","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"hashValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"symbolKind":"property","externalID":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:12IOTBluetooth10IBLanguageO","extendedModule":"Swift","modules":[{"name":"IOTBluetooth","relatedModules":["Swift"]}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/RawRepresentable-Implementations"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage/hashValue":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"hashValue","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"hashValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/hashValue","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/iblanguage\/hashvalue"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage/RawRepresentable-Implementations":{"role":"collectionGroup","title":"RawRepresentable Implementations","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/RawRepresentable-Implementations","kind":"article","type":"topic","url":"\/documentation\/iotbluetooth\/iblanguage\/rawrepresentable-implementations"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage":{"role":"symbol","title":"IBLanguage","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBLanguage"}],"abstract":[{"type":"text","text":"语言原始值从 0 开始递增"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBLanguage"}],"url":"\/documentation\/iotbluetooth\/iblanguage"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"hindi"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/iblanguage\/hindi"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/hindi","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"印度语"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"hindi"}],"title":"IBLanguage.hindi","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth10IBLanguageO5hindiyA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage":{"role":"symbol","title":"IBLanguage","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBLanguage"}],"abstract":[{"type":"text","text":"语言原始值从 0 开始递增"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBLanguage"}],"url":"\/documentation\/iotbluetooth\/iblanguage"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage/hindi":{"role":"symbol","title":"IBLanguage.hindi","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"hindi"}],"abstract":[{"type":"text","text":"印度语"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/hindi","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/iblanguage\/hindi"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"indonesian"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/iblanguage\/indonesian"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/indonesian","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"印度尼西亚语"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"indonesian"}],"title":"IBLanguage.indonesian","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth10IBLanguageO10indonesianyA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage":{"role":"symbol","title":"IBLanguage","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBLanguage"}],"abstract":[{"type":"text","text":"语言原始值从 0 开始递增"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBLanguage"}],"url":"\/documentation\/iotbluetooth\/iblanguage"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage/indonesian":{"role":"symbol","title":"IBLanguage.indonesian","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"indonesian"}],"abstract":[{"type":"text","text":"印度尼西亚语"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/indonesian","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/iblanguage\/indonesian"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"?("},{"kind":"externalParam","text":"rawValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/iblanguage\/init(rawvalue:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/init(rawValue:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"RawRepresentable.init(rawValue:)"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"?("},{"kind":"externalParam","text":"rawValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}],"title":"init(rawValue:)","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth10IBLanguageO8rawValueACSgSi_tcfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage":{"role":"symbol","title":"IBLanguage","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBLanguage"}],"abstract":[{"type":"text","text":"语言原始值从 0 开始递增"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBLanguage"}],"url":"\/documentation\/iotbluetooth\/iblanguage"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage/init(rawValue:)":{"role":"symbol","title":"init(rawValue:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"?("},{"kind":"externalParam","text":"rawValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/init(rawValue:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/iblanguage\/init(rawvalue:)"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"italian"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/iblanguage\/italian"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/italian","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"意大利语"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"italian"}],"title":"IBLanguage.italian","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth10IBLanguageO7italianyA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage":{"role":"symbol","title":"IBLanguage","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBLanguage"}],"abstract":[{"type":"text","text":"语言原始值从 0 开始递增"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBLanguage"}],"url":"\/documentation\/iotbluetooth\/iblanguage"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage/italian":{"role":"symbol","title":"IBLanguage.italian","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"italian"}],"abstract":[{"type":"text","text":"意大利语"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/italian","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/iblanguage\/italian"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"japanese"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/iblanguage\/japanese"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/japanese","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"日本语"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"japanese"}],"title":"IBLanguage.japanese","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth10IBLanguageO8japaneseyA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage/japanese":{"role":"symbol","title":"IBLanguage.japanese","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"japanese"}],"abstract":[{"type":"text","text":"日本语"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/japanese","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/iblanguage\/japanese"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage":{"role":"symbol","title":"IBLanguage","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBLanguage"}],"abstract":[{"type":"text","text":"语言原始值从 0 开始递增"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBLanguage"}],"url":"\/documentation\/iotbluetooth\/iblanguage"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"korean"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/iblanguage\/korean"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/korean","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"韩语"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"korean"}],"title":"IBLanguage.korean","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth10IBLanguageO6koreanyA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage":{"role":"symbol","title":"IBLanguage","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBLanguage"}],"abstract":[{"type":"text","text":"语言原始值从 0 开始递增"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBLanguage"}],"url":"\/documentation\/iotbluetooth\/iblanguage"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage/korean":{"role":"symbol","title":"IBLanguage.korean","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"korean"}],"abstract":[{"type":"text","text":"韩语"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/korean","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/iblanguage\/korean"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"malaysian"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/iblanguage\/malaysian"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/malaysian","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"马来西亚语"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"malaysian"}],"title":"IBLanguage.malaysian","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth10IBLanguageO9malaysianyA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage":{"role":"symbol","title":"IBLanguage","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBLanguage"}],"abstract":[{"type":"text","text":"语言原始值从 0 开始递增"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBLanguage"}],"url":"\/documentation\/iotbluetooth\/iblanguage"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage/malaysian":{"role":"symbol","title":"IBLanguage.malaysian","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"malaysian"}],"abstract":[{"type":"text","text":"马来西亚语"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/malaysian","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/iblanguage\/malaysian"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"polish"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/iblanguage\/polish"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/polish","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"波兰语"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"polish"}],"title":"IBLanguage.polish","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth10IBLanguageO6polishyA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage":{"role":"symbol","title":"IBLanguage","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBLanguage"}],"abstract":[{"type":"text","text":"语言原始值从 0 开始递增"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBLanguage"}],"url":"\/documentation\/iotbluetooth\/iblanguage"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage/polish":{"role":"symbol","title":"IBLanguage.polish","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"polish"}],"abstract":[{"type":"text","text":"波兰语"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/polish","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/iblanguage\/polish"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"portuguese"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/iblanguage\/portuguese"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/portuguese","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"葡萄牙语"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"portuguese"}],"title":"IBLanguage.portuguese","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth10IBLanguageO10portugueseyA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage":{"role":"symbol","title":"IBLanguage","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBLanguage"}],"abstract":[{"type":"text","text":"语言原始值从 0 开始递增"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBLanguage"}],"url":"\/documentation\/iotbluetooth\/iblanguage"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage/portuguese":{"role":"symbol","title":"IBLanguage.portuguese","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"portuguese"}],"abstract":[{"type":"text","text":"葡萄牙语"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/portuguese","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/iblanguage\/portuguese"}}}
\ No newline at end of file
--- /dev/null
+{"variants":[{"paths":["\/documentation\/iotbluetooth\/iblanguage\/rawrepresentable-implementations"],"traits":[{"interfaceLanguage":"swift"}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/RawRepresentable-Implementations","interfaceLanguage":"swift"},"topicSections":[{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/hashValue"],"generated":true},{"title":"Instance Methods","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/hash(into:)"],"generated":true}],"kind":"article","metadata":{"modules":[{"name":"IOTBluetooth"}],"role":"collectionGroup","title":"RawRepresentable Implementations"},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage":{"role":"symbol","title":"IBLanguage","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBLanguage"}],"abstract":[{"type":"text","text":"语言原始值从 0 开始递增"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBLanguage"}],"url":"\/documentation\/iotbluetooth\/iblanguage"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage/hashValue":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"hashValue","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"hashValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/hashValue","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/iblanguage\/hashvalue"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage/hash(into:)":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"hash(into:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"hash"},{"kind":"text","text":"("},{"kind":"externalParam","text":"into"},{"kind":"text","text":": "},{"kind":"keyword","text":"inout"},{"kind":"text","text":" "},{"kind":"typeIdentifier","text":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","text":")"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/hash(into:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/iblanguage\/hash(into:)"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"romanian"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/iblanguage\/romanian"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/romanian","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"罗马尼亚语"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"romanian"}],"title":"IBLanguage.romanian","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth10IBLanguageO8romanianyA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage/romanian":{"role":"symbol","title":"IBLanguage.romanian","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"romanian"}],"abstract":[{"type":"text","text":"罗马尼亚语"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/romanian","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/iblanguage\/romanian"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage":{"role":"symbol","title":"IBLanguage","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBLanguage"}],"abstract":[{"type":"text","text":"语言原始值从 0 开始递增"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBLanguage"}],"url":"\/documentation\/iotbluetooth\/iblanguage"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"russian"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/iblanguage\/russian"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/russian","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"俄语"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"russian"}],"title":"IBLanguage.russian","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth10IBLanguageO7russianyA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage/russian":{"role":"symbol","title":"IBLanguage.russian","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"russian"}],"abstract":[{"type":"text","text":"俄语"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/russian","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/iblanguage\/russian"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage":{"role":"symbol","title":"IBLanguage","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBLanguage"}],"abstract":[{"type":"text","text":"语言原始值从 0 开始递增"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBLanguage"}],"url":"\/documentation\/iotbluetooth\/iblanguage"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"spanish"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/iblanguage\/spanish"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/spanish","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"西班牙语"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"spanish"}],"title":"IBLanguage.spanish","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth10IBLanguageO7spanishyA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage/spanish":{"role":"symbol","title":"IBLanguage.spanish","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"spanish"}],"abstract":[{"type":"text","text":"西班牙语"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/spanish","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/iblanguage\/spanish"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage":{"role":"symbol","title":"IBLanguage","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBLanguage"}],"abstract":[{"type":"text","text":"语言原始值从 0 开始递增"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBLanguage"}],"url":"\/documentation\/iotbluetooth\/iblanguage"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"thai"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/iblanguage\/thai"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/thai","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"泰语"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"thai"}],"title":"IBLanguage.thai","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth10IBLanguageO4thaiyA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage/thai":{"role":"symbol","title":"IBLanguage.thai","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"thai"}],"abstract":[{"type":"text","text":"泰语"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/thai","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/iblanguage\/thai"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage":{"role":"symbol","title":"IBLanguage","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBLanguage"}],"abstract":[{"type":"text","text":"语言原始值从 0 开始递增"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBLanguage"}],"url":"\/documentation\/iotbluetooth\/iblanguage"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"turkish"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/iblanguage\/turkish"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/turkish","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"土耳其语"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"turkish"}],"title":"IBLanguage.turkish","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth10IBLanguageO7turkishyA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage/turkish":{"role":"symbol","title":"IBLanguage.turkish","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"turkish"}],"abstract":[{"type":"text","text":"土耳其语"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/turkish","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/iblanguage\/turkish"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage":{"role":"symbol","title":"IBLanguage","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBLanguage"}],"abstract":[{"type":"text","text":"语言原始值从 0 开始递增"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBLanguage"}],"url":"\/documentation\/iotbluetooth\/iblanguage"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"vietnamese"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/iblanguage\/vietnamese"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/vietnamese","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"越南语"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"vietnamese"}],"title":"IBLanguage.vietnamese","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth10IBLanguageO10vietnameseyA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage/vietnamese":{"role":"symbol","title":"IBLanguage.vietnamese","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"vietnamese"}],"abstract":[{"type":"text","text":"越南语"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage\/vietnamese","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/iblanguage\/vietnamese"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage":{"role":"symbol","title":"IBLanguage","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBLanguage"}],"abstract":[{"type":"text","text":"语言原始值从 0 开始递增"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBLanguage"}],"url":"\/documentation\/iotbluetooth\/iblanguage"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBManager"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibmanager"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"SDK 管理类"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBManager"}],"title":"IBManager","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:12IOTBluetooth9IBManagerC","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBManager"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"topicSections":[{"title":"Type Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager\/currentConnected","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager\/isDebug","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager\/logs","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager\/version"]},{"title":"Type Methods","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager\/cancel(_:)","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager\/connect(_:completeHandler:)","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager\/initializationSDK()","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager\/remove(_:)","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager\/scan(_:discoverHandler:)","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager\/stopScan()","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager\/subscribe(_:observer:receive:)"]}],"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBManager/scan(_:discoverHandler:)":{"role":"symbol","title":"scan(_:discoverHandler:)","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"scan"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBScanOption","preciseIdentifier":"s:12IOTBluetooth12IBScanOptionC"},{"kind":"text","text":", "},{"kind":"externalParam","text":"discoverHandler"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBDiscoverHandler","preciseIdentifier":"s:12IOTBluetooth17IBDiscoverHandlera"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"扫描设备"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager\/scan(_:discoverHandler:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibmanager\/scan(_:discoverhandler:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBManager":{"role":"symbol","title":"IBManager","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBManager"}],"abstract":[{"type":"text","text":"SDK 管理类"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBManager"}],"url":"\/documentation\/iotbluetooth\/ibmanager"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBManager/logs":{"role":"symbol","title":"logs","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"logs"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":"]"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager\/logs","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibmanager\/logs"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBManager/subscribe(_:observer:receive:)":{"role":"symbol","title":"subscribe(_:observer:receive:)","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"subscribe"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBNotify","preciseIdentifier":"s:12IOTBluetooth8IBNotifyC"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Name","preciseIdentifier":"s:12IOTBluetooth8IBNotifyC4NameV"},{"kind":"text","text":", "},{"kind":"externalParam","text":"observer"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"NSObjectProtocol","preciseIdentifier":"c:objc(pl)NSObject"},{"kind":"text","text":"!, "},{"kind":"externalParam","text":"receive"},{"kind":"text","text":": ("},{"kind":"externalParam","text":"_"},{"kind":"text","text":" "},{"kind":"internalParam","text":"object"},{"kind":"text","text":": "},{"kind":"keyword","text":"Any"},{"kind":"text","text":"?, "},{"kind":"externalParam","text":"_"},{"kind":"text","text":" "},{"kind":"internalParam","text":"userInfo"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":" : "},{"kind":"keyword","text":"Any"},{"kind":"text","text":"]) -> "},{"kind":"typeIdentifier","text":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"订阅通知"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager\/subscribe(_:observer:receive:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibmanager\/subscribe(_:observer:receive:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBManager/isDebug":{"role":"symbol","title":"isDebug","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"isDebug"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"abstract":[{"type":"text","text":"默认为 false"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager\/isDebug","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibmanager\/isdebug"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBManager/connect(_:completeHandler:)":{"role":"symbol","title":"connect(_:completeHandler:)","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"connect"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBPeripheral","preciseIdentifier":"s:12IOTBluetooth12IBPeripheralC"},{"kind":"text","text":", "},{"kind":"externalParam","text":"completeHandler"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBCompleteHandler","preciseIdentifier":"s:12IOTBluetooth17IBCompleteHandlera"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"连接设备"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager\/connect(_:completeHandler:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibmanager\/connect(_:completehandler:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBManager/version":{"role":"symbol","title":"version","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"version"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"SDK 版本号"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager\/version","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibmanager\/version"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBManager/remove(_:)":{"role":"symbol","title":"remove(_:)","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"remove"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"NSObjectProtocol","preciseIdentifier":"c:objc(pl)NSObject"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"移除订阅通知的观察者"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager\/remove(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibmanager\/remove(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBManager/currentConnected":{"role":"symbol","title":"currentConnected","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"currentConnected"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBPeripheral","preciseIdentifier":"s:12IOTBluetooth12IBPeripheralC"},{"kind":"text","text":"!"}],"abstract":[{"type":"text","text":"当前已连接设备"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager\/currentConnected","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibmanager\/currentconnected"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBManager/initializationSDK()":{"role":"symbol","title":"initializationSDK()","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"initializationSDK"},{"kind":"text","text":"()"}],"abstract":[{"type":"text","text":"初始化工作"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager\/initializationSDK()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibmanager\/initializationsdk()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBManager/stopScan()":{"role":"symbol","title":"stopScan()","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"stopScan"},{"kind":"text","text":"()"}],"abstract":[{"type":"text","text":"停止扫描蓝牙设备"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager\/stopScan()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibmanager\/stopscan()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBManager/cancel(_:)":{"role":"symbol","title":"cancel(_:)","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"cancel"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBPeripheral","preciseIdentifier":"s:12IOTBluetooth12IBPeripheralC"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"断开与蓝牙设备的连接"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager\/cancel(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibmanager\/cancel(_:)"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"cancel"},{"kind":"text","text":"("},{"kind":"externalParam","text":"_"},{"kind":"text","text":" "},{"kind":"internalParam","text":"peripheral"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheral","preciseIdentifier":"s:12IOTBluetooth12IBPeripheralC","text":"IBPeripheral"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"parameters","parameters":[{"name":"peripheral","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"蓝牙设备对像"}]}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibmanager\/cancel(_:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager\/cancel(_:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"断开与蓝牙设备的连接"}],"kind":"symbol","metadata":{"role":"symbol","title":"cancel(_:)","roleHeading":"Type Method","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"cancel"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBPeripheral","preciseIdentifier":"s:12IOTBluetooth12IBPeripheralC"},{"kind":"text","text":")"}],"symbolKind":"method","externalID":"s:12IOTBluetooth9IBManagerC6cancelyyAA12IBPeripheralCFZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBManager/cancel(_:)":{"role":"symbol","title":"cancel(_:)","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"cancel"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBPeripheral","preciseIdentifier":"s:12IOTBluetooth12IBPeripheralC"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"断开与蓝牙设备的连接"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager\/cancel(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibmanager\/cancel(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBManager":{"role":"symbol","title":"IBManager","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBManager"}],"abstract":[{"type":"text","text":"SDK 管理类"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBManager"}],"url":"\/documentation\/iotbluetooth\/ibmanager"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPeripheral":{"role":"symbol","title":"IBPeripheral","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBPeripheral"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheral","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBPeripheral"}],"url":"\/documentation\/iotbluetooth\/ibperipheral"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"connect"},{"kind":"text","text":"("},{"kind":"externalParam","text":"_"},{"kind":"text","text":" "},{"kind":"internalParam","text":"peripheral"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheral","preciseIdentifier":"s:12IOTBluetooth12IBPeripheralC","text":"IBPeripheral"},{"kind":"text","text":", "},{"kind":"externalParam","text":"completeHandler"},{"kind":"text","text":": "},{"kind":"attribute","text":"@escaping"},{"kind":"text","text":" "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCompleteHandler","preciseIdentifier":"s:12IOTBluetooth17IBCompleteHandlera","text":"IBCompleteHandler"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"parameters","parameters":[{"name":"peripheral","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"扫描发现的设备"}]}]},{"name":"completeHandler","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"结果回调"}]}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibmanager\/connect(_:completehandler:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager\/connect(_:completeHandler:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"连接设备"}],"kind":"symbol","metadata":{"role":"symbol","title":"connect(_:completeHandler:)","roleHeading":"Type Method","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"connect"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBPeripheral","preciseIdentifier":"s:12IOTBluetooth12IBPeripheralC"},{"kind":"text","text":", "},{"kind":"externalParam","text":"completeHandler"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBCompleteHandler","preciseIdentifier":"s:12IOTBluetooth17IBCompleteHandlera"},{"kind":"text","text":")"}],"symbolKind":"method","externalID":"s:12IOTBluetooth9IBManagerC7connect_15completeHandleryAA12IBPeripheralC_ySbctFZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPeripheral":{"role":"symbol","title":"IBPeripheral","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBPeripheral"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheral","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBPeripheral"}],"url":"\/documentation\/iotbluetooth\/ibperipheral"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBManager/connect(_:completeHandler:)":{"role":"symbol","title":"connect(_:completeHandler:)","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"connect"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBPeripheral","preciseIdentifier":"s:12IOTBluetooth12IBPeripheralC"},{"kind":"text","text":", "},{"kind":"externalParam","text":"completeHandler"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBCompleteHandler","preciseIdentifier":"s:12IOTBluetooth17IBCompleteHandlera"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"连接设备"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager\/connect(_:completeHandler:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibmanager\/connect(_:completehandler:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBManager":{"role":"symbol","title":"IBManager","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBManager"}],"abstract":[{"type":"text","text":"SDK 管理类"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBManager"}],"url":"\/documentation\/iotbluetooth\/ibmanager"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBCompleteHandler":{"role":"symbol","title":"IBCompleteHandler","fragments":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBCompleteHandler"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCompleteHandler","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBCompleteHandler"}],"url":"\/documentation\/iotbluetooth\/ibcompletehandler"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"currentConnected"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheral","preciseIdentifier":"s:12IOTBluetooth12IBPeripheralC","text":"IBPeripheral"},{"kind":"text","text":"! { "},{"kind":"keyword","text":"get"},{"kind":"text","text":" }"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibmanager\/currentconnected"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager\/currentConnected","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"当前已连接设备"}],"kind":"symbol","metadata":{"role":"symbol","title":"currentConnected","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"currentConnected"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBPeripheral","preciseIdentifier":"s:12IOTBluetooth12IBPeripheralC"},{"kind":"text","text":"!"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBManagerC16currentConnectedAA12IBPeripheralCSgvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBManager/currentConnected":{"role":"symbol","title":"currentConnected","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"currentConnected"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBPeripheral","preciseIdentifier":"s:12IOTBluetooth12IBPeripheralC"},{"kind":"text","text":"!"}],"abstract":[{"type":"text","text":"当前已连接设备"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager\/currentConnected","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibmanager\/currentconnected"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPeripheral":{"role":"symbol","title":"IBPeripheral","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBPeripheral"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheral","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBPeripheral"}],"url":"\/documentation\/iotbluetooth\/ibperipheral"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBManager":{"role":"symbol","title":"IBManager","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBManager"}],"abstract":[{"type":"text","text":"SDK 管理类"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBManager"}],"url":"\/documentation\/iotbluetooth\/ibmanager"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"initializationSDK"},{"kind":"text","text":"()"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibmanager\/initializationsdk()"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager\/initializationSDK()","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"初始化工作"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"initializationSDK"},{"kind":"text","text":"()"}],"title":"initializationSDK()","roleHeading":"Type Method","role":"symbol","symbolKind":"method","externalID":"s:12IOTBluetooth9IBManagerC17initializationSDKyyFZ","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBManager":{"role":"symbol","title":"IBManager","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBManager"}],"abstract":[{"type":"text","text":"SDK 管理类"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBManager"}],"url":"\/documentation\/iotbluetooth\/ibmanager"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBManager/initializationSDK()":{"role":"symbol","title":"initializationSDK()","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"initializationSDK"},{"kind":"text","text":"()"}],"abstract":[{"type":"text","text":"初始化工作"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager\/initializationSDK()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibmanager\/initializationsdk()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"isDebug"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"},{"kind":"text","text":" { "},{"kind":"keyword","text":"get"},{"kind":"text","text":" "},{"kind":"keyword","text":"set"},{"kind":"text","text":" }"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibmanager\/isdebug"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager\/isDebug","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"默认为 false"}],"kind":"symbol","metadata":{"role":"symbol","title":"isDebug","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"isDebug"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBManagerC7isDebugSbvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBManager/isDebug":{"role":"symbol","title":"isDebug","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"isDebug"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"abstract":[{"type":"text","text":"默认为 false"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager\/isDebug","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibmanager\/isdebug"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBManager":{"role":"symbol","title":"IBManager","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBManager"}],"abstract":[{"type":"text","text":"SDK 管理类"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBManager"}],"url":"\/documentation\/iotbluetooth\/ibmanager"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"logs"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":"] { "},{"kind":"keyword","text":"get"},{"kind":"text","text":" }"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibmanager\/logs"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager\/logs","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"logs"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":"]"}],"title":"logs","roleHeading":"Type Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth9IBManagerC4logsSaySSGvpZ","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBManager/logs":{"role":"symbol","title":"logs","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"logs"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":"]"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager\/logs","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibmanager\/logs"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBManager":{"role":"symbol","title":"IBManager","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBManager"}],"abstract":[{"type":"text","text":"SDK 管理类"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBManager"}],"url":"\/documentation\/iotbluetooth\/ibmanager"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"remove"},{"kind":"text","text":"("},{"kind":"externalParam","text":"_"},{"kind":"text","text":" "},{"kind":"internalParam","text":"observer"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"NSObjectProtocol","preciseIdentifier":"c:objc(pl)NSObject"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibmanager\/remove(_:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager\/remove(_:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"移除订阅通知的观察者"}],"kind":"symbol","metadata":{"role":"symbol","title":"remove(_:)","roleHeading":"Type Method","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"remove"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"NSObjectProtocol","preciseIdentifier":"c:objc(pl)NSObject"},{"kind":"text","text":")"}],"symbolKind":"method","externalID":"s:12IOTBluetooth9IBManagerC6removeyySo8NSObject_pFZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBManager":{"role":"symbol","title":"IBManager","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBManager"}],"abstract":[{"type":"text","text":"SDK 管理类"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBManager"}],"url":"\/documentation\/iotbluetooth\/ibmanager"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBManager/remove(_:)":{"role":"symbol","title":"remove(_:)","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"remove"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"NSObjectProtocol","preciseIdentifier":"c:objc(pl)NSObject"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"移除订阅通知的观察者"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager\/remove(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibmanager\/remove(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"scan"},{"kind":"text","text":"("},{"kind":"externalParam","text":"_"},{"kind":"text","text":" "},{"kind":"internalParam","text":"option"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScanOption","preciseIdentifier":"s:12IOTBluetooth12IBScanOptionC","text":"IBScanOption"},{"kind":"text","text":" = .default, "},{"kind":"externalParam","text":"discoverHandler"},{"kind":"text","text":": "},{"kind":"attribute","text":"@escaping"},{"kind":"text","text":" "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDiscoverHandler","preciseIdentifier":"s:12IOTBluetooth17IBDiscoverHandlera","text":"IBDiscoverHandler"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"parameters","parameters":[{"name":"option","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"扫描参数"}]}]},{"name":"discoverHandler","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"结果回调"}]}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibmanager\/scan(_:discoverhandler:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager\/scan(_:discoverHandler:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"扫描设备"}],"kind":"symbol","metadata":{"role":"symbol","title":"scan(_:discoverHandler:)","roleHeading":"Type Method","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"scan"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBScanOption","preciseIdentifier":"s:12IOTBluetooth12IBScanOptionC"},{"kind":"text","text":", "},{"kind":"externalParam","text":"discoverHandler"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBDiscoverHandler","preciseIdentifier":"s:12IOTBluetooth17IBDiscoverHandlera"},{"kind":"text","text":")"}],"symbolKind":"method","externalID":"s:12IOTBluetooth9IBManagerC4scan_15discoverHandleryAA12IBScanOptionC_yAA12IBPeripheralCctFZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBScanOption":{"role":"symbol","title":"IBScanOption","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBScanOption"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScanOption","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBScanOption"}],"url":"\/documentation\/iotbluetooth\/ibscanoption"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBManager/scan(_:discoverHandler:)":{"role":"symbol","title":"scan(_:discoverHandler:)","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"scan"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBScanOption","preciseIdentifier":"s:12IOTBluetooth12IBScanOptionC"},{"kind":"text","text":", "},{"kind":"externalParam","text":"discoverHandler"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBDiscoverHandler","preciseIdentifier":"s:12IOTBluetooth17IBDiscoverHandlera"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"扫描设备"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager\/scan(_:discoverHandler:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibmanager\/scan(_:discoverhandler:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBManager":{"role":"symbol","title":"IBManager","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBManager"}],"abstract":[{"type":"text","text":"SDK 管理类"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBManager"}],"url":"\/documentation\/iotbluetooth\/ibmanager"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDiscoverHandler":{"role":"symbol","title":"IBDiscoverHandler","fragments":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBDiscoverHandler"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDiscoverHandler","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBDiscoverHandler"}],"url":"\/documentation\/iotbluetooth\/ibdiscoverhandler"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"stopScan"},{"kind":"text","text":"()"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibmanager\/stopscan()"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager\/stopScan()","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"停止扫描蓝牙设备"}],"kind":"symbol","metadata":{"role":"symbol","title":"stopScan()","roleHeading":"Type Method","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"stopScan"},{"kind":"text","text":"()"}],"symbolKind":"method","externalID":"s:12IOTBluetooth9IBManagerC8stopScanyyFZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBManager/stopScan()":{"role":"symbol","title":"stopScan()","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"stopScan"},{"kind":"text","text":"()"}],"abstract":[{"type":"text","text":"停止扫描蓝牙设备"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager\/stopScan()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibmanager\/stopscan()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBManager":{"role":"symbol","title":"IBManager","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBManager"}],"abstract":[{"type":"text","text":"SDK 管理类"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBManager"}],"url":"\/documentation\/iotbluetooth\/ibmanager"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"subscribe"},{"kind":"text","text":"("},{"kind":"externalParam","text":"_"},{"kind":"text","text":" "},{"kind":"internalParam","text":"name"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify","preciseIdentifier":"s:12IOTBluetooth8IBNotifyC","text":"IBNotify"},{"kind":"text","text":"."},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify\/Name","preciseIdentifier":"s:12IOTBluetooth8IBNotifyC4NameV","text":"Name"},{"kind":"text","text":", "},{"kind":"externalParam","text":"observer"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"NSObjectProtocol","preciseIdentifier":"c:objc(pl)NSObject"},{"kind":"text","text":"!, "},{"kind":"externalParam","text":"receive"},{"kind":"text","text":": "},{"kind":"attribute","text":"@escaping"},{"kind":"text","text":" ("},{"kind":"externalParam","text":"_"},{"kind":"text","text":" "},{"kind":"internalParam","text":"object"},{"kind":"text","text":": "},{"kind":"keyword","text":"Any"},{"kind":"text","text":"?, "},{"kind":"externalParam","text":"_"},{"kind":"text","text":" "},{"kind":"internalParam","text":"userInfo"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":" : "},{"kind":"keyword","text":"Any"},{"kind":"text","text":"]) -> "},{"kind":"typeIdentifier","text":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibmanager\/subscribe(_:observer:receive:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager\/subscribe(_:observer:receive:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"订阅通知"}],"kind":"symbol","metadata":{"role":"symbol","title":"subscribe(_:observer:receive:)","roleHeading":"Type Method","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"subscribe"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBNotify","preciseIdentifier":"s:12IOTBluetooth8IBNotifyC"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Name","preciseIdentifier":"s:12IOTBluetooth8IBNotifyC4NameV"},{"kind":"text","text":", "},{"kind":"externalParam","text":"observer"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"NSObjectProtocol","preciseIdentifier":"c:objc(pl)NSObject"},{"kind":"text","text":"!, "},{"kind":"externalParam","text":"receive"},{"kind":"text","text":": ("},{"kind":"externalParam","text":"_"},{"kind":"text","text":" "},{"kind":"internalParam","text":"object"},{"kind":"text","text":": "},{"kind":"keyword","text":"Any"},{"kind":"text","text":"?, "},{"kind":"externalParam","text":"_"},{"kind":"text","text":" "},{"kind":"internalParam","text":"userInfo"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":" : "},{"kind":"keyword","text":"Any"},{"kind":"text","text":"]) -> "},{"kind":"typeIdentifier","text":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","text":")"}],"symbolKind":"method","externalID":"s:12IOTBluetooth9IBManagerC9subscribe_8observer7receiveyAA8IBNotifyC4NameV_So8NSObject_pSgyypSg_SDySSypGtctFZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBManager":{"role":"symbol","title":"IBManager","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBManager"}],"abstract":[{"type":"text","text":"SDK 管理类"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBManager"}],"url":"\/documentation\/iotbluetooth\/ibmanager"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBManager/subscribe(_:observer:receive:)":{"role":"symbol","title":"subscribe(_:observer:receive:)","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"subscribe"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBNotify","preciseIdentifier":"s:12IOTBluetooth8IBNotifyC"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Name","preciseIdentifier":"s:12IOTBluetooth8IBNotifyC4NameV"},{"kind":"text","text":", "},{"kind":"externalParam","text":"observer"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"NSObjectProtocol","preciseIdentifier":"c:objc(pl)NSObject"},{"kind":"text","text":"!, "},{"kind":"externalParam","text":"receive"},{"kind":"text","text":": ("},{"kind":"externalParam","text":"_"},{"kind":"text","text":" "},{"kind":"internalParam","text":"object"},{"kind":"text","text":": "},{"kind":"keyword","text":"Any"},{"kind":"text","text":"?, "},{"kind":"externalParam","text":"_"},{"kind":"text","text":" "},{"kind":"internalParam","text":"userInfo"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":" : "},{"kind":"keyword","text":"Any"},{"kind":"text","text":"]) -> "},{"kind":"typeIdentifier","text":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"订阅通知"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager\/subscribe(_:observer:receive:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibmanager\/subscribe(_:observer:receive:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBNotify/Name":{"role":"symbol","title":"IBNotify.Name","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"Name"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify\/Name","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Name"}],"url":"\/documentation\/iotbluetooth\/ibnotify\/name"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBNotify":{"role":"symbol","title":"IBNotify","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBNotify"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBNotify"}],"url":"\/documentation\/iotbluetooth\/ibnotify"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"version"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibmanager\/version"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager\/version","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"SDK 版本号"}],"kind":"symbol","metadata":{"role":"symbol","title":"version","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"version"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"symbolKind":"property","externalID":"s:12IOTBluetooth9IBManagerC7versionSSvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBManager":{"role":"symbol","title":"IBManager","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBManager"}],"abstract":[{"type":"text","text":"SDK 管理类"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBManager"}],"url":"\/documentation\/iotbluetooth\/ibmanager"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBManager/version":{"role":"symbol","title":"version","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"version"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"SDK 版本号"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBManager\/version","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibmanager\/version"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBMotionMode"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibmotionmode"],"traits":[{"interfaceLanguage":"swift"}]}],"relationshipsSections":[{"identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/SQ","doc:\/\/com.thisiot.IOTBluetooth\/SH","doc:\/\/com.thisiot.IOTBluetooth\/SY"],"kind":"relationships","title":"Conforms To","type":"conformsTo"}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMotionMode","interfaceLanguage":"swift"},"topicSections":[{"title":"Enumeration Cases","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMotionMode\/ride","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMotionMode\/running","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMotionMode\/walking"]},{"title":"Initializers","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMotionMode\/init(rawValue:)"]},{"title":"Default Implementations","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMotionMode\/Equatable-Implementations","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMotionMode\/RawRepresentable-Implementations"],"generated":true}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBMotionMode"}],"title":"IBMotionMode","roleHeading":"Enumeration","role":"symbol","symbolKind":"enum","externalID":"s:12IOTBluetooth12IBMotionModeO","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBMotionMode"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"references":{"doc://com.thisiot.IOTBluetooth/SQ":{"type":"unresolvable","title":"Swift.Equatable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/SQ"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBMotionMode/running":{"role":"symbol","title":"IBMotionMode.running","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"running"}],"abstract":[{"type":"text","text":"跑步"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMotionMode\/running","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibmotionmode\/running"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBMotionMode":{"role":"symbol","title":"IBMotionMode","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBMotionMode"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMotionMode","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBMotionMode"}],"url":"\/documentation\/iotbluetooth\/ibmotionmode"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBMotionMode/RawRepresentable-Implementations":{"role":"collectionGroup","title":"RawRepresentable Implementations","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMotionMode\/RawRepresentable-Implementations","kind":"article","type":"topic","url":"\/documentation\/iotbluetooth\/ibmotionmode\/rawrepresentable-implementations"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBMotionMode/Equatable-Implementations":{"role":"collectionGroup","title":"Equatable Implementations","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMotionMode\/Equatable-Implementations","kind":"article","type":"topic","url":"\/documentation\/iotbluetooth\/ibmotionmode\/equatable-implementations"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBMotionMode/walking":{"role":"symbol","title":"IBMotionMode.walking","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"walking"}],"abstract":[{"type":"text","text":"健走"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMotionMode\/walking","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibmotionmode\/walking"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBMotionMode/init(rawValue:)":{"role":"symbol","title":"init(rawValue:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"?("},{"kind":"externalParam","text":"rawValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMotionMode\/init(rawValue:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibmotionmode\/init(rawvalue:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBMotionMode/ride":{"role":"symbol","title":"IBMotionMode.ride","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"ride"}],"abstract":[{"type":"text","text":"骑行"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMotionMode\/ride","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibmotionmode\/ride"},"doc://com.thisiot.IOTBluetooth/SY":{"type":"unresolvable","title":"Swift.RawRepresentable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/SY"},"doc://com.thisiot.IOTBluetooth/SH":{"type":"unresolvable","title":"Swift.Hashable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/SH"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"!="},{"kind":"text","text":" "},{"kind":"text","text":"("},{"kind":"internalParam","text":"lhs"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":", "},{"kind":"internalParam","text":"rhs"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibmotionmode\/!=(_:_:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMotionMode\/!=(_:_:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"Equatable.!=(_:_:)"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"role":"symbol","title":"!=(_:_:)","roleHeading":"Operator","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"!="},{"kind":"text","text":" "},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":", "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"symbolKind":"op","externalID":"s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:12IOTBluetooth12IBMotionModeO","extendedModule":"Swift","modules":[{"name":"IOTBluetooth","relatedModules":["Swift"]}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMotionMode","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMotionMode\/Equatable-Implementations"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBMotionMode":{"role":"symbol","title":"IBMotionMode","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBMotionMode"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMotionMode","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBMotionMode"}],"url":"\/documentation\/iotbluetooth\/ibmotionmode"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBMotionMode/!=(_:_:)":{"role":"symbol","title":"!=(_:_:)","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"!="},{"kind":"text","text":" "},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":", "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMotionMode\/!=(_:_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibmotionmode\/!=(_:_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBMotionMode/Equatable-Implementations":{"role":"collectionGroup","title":"Equatable Implementations","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMotionMode\/Equatable-Implementations","kind":"article","type":"topic","url":"\/documentation\/iotbluetooth\/ibmotionmode\/equatable-implementations"}}}
\ No newline at end of file
--- /dev/null
+{"variants":[{"paths":["\/documentation\/iotbluetooth\/ibmotionmode\/equatable-implementations"],"traits":[{"interfaceLanguage":"swift"}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMotionMode\/Equatable-Implementations","interfaceLanguage":"swift"},"topicSections":[{"title":"Operators","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMotionMode\/!=(_:_:)"],"generated":true}],"kind":"article","metadata":{"modules":[{"name":"IOTBluetooth"}],"role":"collectionGroup","title":"Equatable Implementations"},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMotionMode"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBMotionMode/!=(_:_:)":{"role":"symbol","title":"!=(_:_:)","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"!="},{"kind":"text","text":" "},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":", "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMotionMode\/!=(_:_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibmotionmode\/!=(_:_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBMotionMode":{"role":"symbol","title":"IBMotionMode","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBMotionMode"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMotionMode","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBMotionMode"}],"url":"\/documentation\/iotbluetooth\/ibmotionmode"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"hash"},{"kind":"text","text":"("},{"kind":"externalParam","text":"into"},{"kind":"text","text":" "},{"kind":"internalParam","text":"hasher"},{"kind":"text","text":": "},{"kind":"keyword","text":"inout"},{"kind":"text","text":" "},{"kind":"typeIdentifier","text":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibmotionmode\/hash(into:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMotionMode\/hash(into:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"RawRepresentable.hash(into:)"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"hash(into:)","roleHeading":"Instance Method","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"hash"},{"kind":"text","text":"("},{"kind":"externalParam","text":"into"},{"kind":"text","text":": "},{"kind":"keyword","text":"inout"},{"kind":"text","text":" "},{"kind":"typeIdentifier","text":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","text":")"}],"symbolKind":"method","externalID":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF::SYNTHESIZED::s:12IOTBluetooth12IBMotionModeO","extendedModule":"Swift","modules":[{"name":"IOTBluetooth","relatedModules":["Swift"]}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMotionMode","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMotionMode\/RawRepresentable-Implementations"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBMotionMode/RawRepresentable-Implementations":{"role":"collectionGroup","title":"RawRepresentable Implementations","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMotionMode\/RawRepresentable-Implementations","kind":"article","type":"topic","url":"\/documentation\/iotbluetooth\/ibmotionmode\/rawrepresentable-implementations"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBMotionMode":{"role":"symbol","title":"IBMotionMode","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBMotionMode"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMotionMode","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBMotionMode"}],"url":"\/documentation\/iotbluetooth\/ibmotionmode"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBMotionMode/hash(into:)":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"hash(into:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"hash"},{"kind":"text","text":"("},{"kind":"externalParam","text":"into"},{"kind":"text","text":": "},{"kind":"keyword","text":"inout"},{"kind":"text","text":" "},{"kind":"typeIdentifier","text":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","text":")"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMotionMode\/hash(into:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibmotionmode\/hash(into:)"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"hashValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":" { "},{"kind":"keyword","text":"get"},{"kind":"text","text":" }"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibmotionmode\/hashvalue"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMotionMode\/hashValue","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"RawRepresentable.hashValue"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"hashValue","roleHeading":"Instance Property","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"hashValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"symbolKind":"property","externalID":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:12IOTBluetooth12IBMotionModeO","extendedModule":"Swift","modules":[{"name":"IOTBluetooth","relatedModules":["Swift"]}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMotionMode","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMotionMode\/RawRepresentable-Implementations"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBMotionMode/RawRepresentable-Implementations":{"role":"collectionGroup","title":"RawRepresentable Implementations","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMotionMode\/RawRepresentable-Implementations","kind":"article","type":"topic","url":"\/documentation\/iotbluetooth\/ibmotionmode\/rawrepresentable-implementations"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBMotionMode/hashValue":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"hashValue","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"hashValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMotionMode\/hashValue","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibmotionmode\/hashvalue"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBMotionMode":{"role":"symbol","title":"IBMotionMode","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBMotionMode"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMotionMode","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBMotionMode"}],"url":"\/documentation\/iotbluetooth\/ibmotionmode"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"?("},{"kind":"externalParam","text":"rawValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibmotionmode\/init(rawvalue:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMotionMode\/init(rawValue:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"RawRepresentable.init(rawValue:)"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"?("},{"kind":"externalParam","text":"rawValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}],"title":"init(rawValue:)","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth12IBMotionModeO8rawValueACSgSi_tcfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMotionMode"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBMotionMode":{"role":"symbol","title":"IBMotionMode","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBMotionMode"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMotionMode","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBMotionMode"}],"url":"\/documentation\/iotbluetooth\/ibmotionmode"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBMotionMode/init(rawValue:)":{"role":"symbol","title":"init(rawValue:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"?("},{"kind":"externalParam","text":"rawValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMotionMode\/init(rawValue:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibmotionmode\/init(rawvalue:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"variants":[{"paths":["\/documentation\/iotbluetooth\/ibmotionmode\/rawrepresentable-implementations"],"traits":[{"interfaceLanguage":"swift"}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMotionMode\/RawRepresentable-Implementations","interfaceLanguage":"swift"},"topicSections":[{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMotionMode\/hashValue"],"generated":true},{"title":"Instance Methods","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMotionMode\/hash(into:)"],"generated":true}],"kind":"article","metadata":{"modules":[{"name":"IOTBluetooth"}],"role":"collectionGroup","title":"RawRepresentable Implementations"},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMotionMode"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBMotionMode":{"role":"symbol","title":"IBMotionMode","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBMotionMode"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMotionMode","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBMotionMode"}],"url":"\/documentation\/iotbluetooth\/ibmotionmode"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBMotionMode/hashValue":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"hashValue","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"hashValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMotionMode\/hashValue","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibmotionmode\/hashvalue"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBMotionMode/hash(into:)":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"hash(into:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"hash"},{"kind":"text","text":"("},{"kind":"externalParam","text":"into"},{"kind":"text","text":": "},{"kind":"keyword","text":"inout"},{"kind":"text","text":" "},{"kind":"typeIdentifier","text":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","text":")"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMotionMode\/hash(into:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibmotionmode\/hash(into:)"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"ride"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibmotionmode\/ride"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMotionMode\/ride","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"骑行"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"ride"}],"title":"IBMotionMode.ride","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth12IBMotionModeO4rideyA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMotionMode"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBMotionMode/ride":{"role":"symbol","title":"IBMotionMode.ride","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"ride"}],"abstract":[{"type":"text","text":"骑行"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMotionMode\/ride","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibmotionmode\/ride"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBMotionMode":{"role":"symbol","title":"IBMotionMode","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBMotionMode"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMotionMode","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBMotionMode"}],"url":"\/documentation\/iotbluetooth\/ibmotionmode"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"running"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibmotionmode\/running"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMotionMode\/running","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"跑步"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"running"}],"title":"IBMotionMode.running","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth12IBMotionModeO7runningyA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMotionMode"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBMotionMode/running":{"role":"symbol","title":"IBMotionMode.running","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"running"}],"abstract":[{"type":"text","text":"跑步"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMotionMode\/running","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibmotionmode\/running"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBMotionMode":{"role":"symbol","title":"IBMotionMode","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBMotionMode"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMotionMode","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBMotionMode"}],"url":"\/documentation\/iotbluetooth\/ibmotionmode"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"walking"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibmotionmode\/walking"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMotionMode\/walking","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"健走"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"walking"}],"title":"IBMotionMode.walking","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth12IBMotionModeO7walkingyA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMotionMode"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBMotionMode/walking":{"role":"symbol","title":"IBMotionMode.walking","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"walking"}],"abstract":[{"type":"text","text":"健走"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMotionMode\/walking","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibmotionmode\/walking"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBMotionMode":{"role":"symbol","title":"IBMotionMode","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBMotionMode"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMotionMode","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBMotionMode"}],"url":"\/documentation\/iotbluetooth\/ibmotionmode"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBMp3File"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibmp3file"],"traits":[{"interfaceLanguage":"swift"}]}],"relationshipsSections":[{"identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/Se","doc:\/\/com.thisiot.IOTBluetooth\/SE"],"kind":"relationships","title":"Conforms To","type":"conformsTo"}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMp3File","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"mp3文件模型"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBMp3File"}],"title":"IBMp3File","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:12IOTBluetooth9IBMp3FileC","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBMp3File"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"topicSections":[{"title":"Initializers","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMp3File\/init(from:)"]}],"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBMp3File":{"role":"symbol","title":"IBMp3File","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBMp3File"}],"abstract":[{"type":"text","text":"mp3文件模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMp3File","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBMp3File"}],"url":"\/documentation\/iotbluetooth\/ibmp3file"},"doc://com.thisiot.IOTBluetooth/Se":{"type":"unresolvable","title":"Swift.Decodable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/Se"},"doc://com.thisiot.IOTBluetooth/SE":{"type":"unresolvable","title":"Swift.Encodable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/SE"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBMp3File/init(from:)":{"role":"symbol","title":"init(from:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMp3File\/init(from:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibmp3file\/init(from:)"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":" "},{"kind":"internalParam","text":"decoder"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibmp3file\/init(from:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMp3File\/init(from:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"Decodable.init(from:)"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"title":"init(from:)","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth9IBMp3FileC4fromACs7Decoder_p_tKcfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMp3File"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBMp3File/init(from:)":{"role":"symbol","title":"init(from:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMp3File\/init(from:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibmp3file\/init(from:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBMp3File":{"role":"symbol","title":"IBMp3File","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBMp3File"}],"abstract":[{"type":"text","text":"mp3文件模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMp3File","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBMp3File"}],"url":"\/documentation\/iotbluetooth\/ibmp3file"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBNotify"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibnotify"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify","interfaceLanguage":"swift"},"topicSections":[{"title":"Structures","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify\/Name"]}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBNotify"}],"title":"IBNotify","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:12IOTBluetooth8IBNotifyC","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBNotify"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBNotify":{"role":"symbol","title":"IBNotify","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBNotify"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBNotify"}],"url":"\/documentation\/iotbluetooth\/ibnotify"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBNotify/Name":{"role":"symbol","title":"IBNotify.Name","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"Name"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify\/Name","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Name"}],"url":"\/documentation\/iotbluetooth\/ibnotify\/name"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"Name"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibnotify\/name"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify\/Name","interfaceLanguage":"swift"},"topicSections":[{"title":"Type Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify\/Name\/connectStateDidChange","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify\/Name\/didFindDevice","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify\/Name\/takePhoto","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify\/Name\/trainStateDidChanged","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify\/Name\/trainingData","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify\/Name\/weather"]}],"kind":"symbol","metadata":{"navigatorTitle":[{"kind":"identifier","text":"Name"}],"role":"symbol","title":"IBNotify.Name","roleHeading":"Structure","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"Name"}],"symbolKind":"struct","externalID":"s:12IOTBluetooth8IBNotifyC4NameV","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBNotify/Name/connectStateDidChange":{"role":"symbol","title":"connectStateDidChange","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"connectStateDidChange"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBNotify","preciseIdentifier":"s:12IOTBluetooth8IBNotifyC"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Name","preciseIdentifier":"s:12IOTBluetooth8IBNotifyC4NameV"}],"abstract":[{"type":"text","text":"连接状态发生改变。通过object 获取状态,0断开连接。1连上设备。"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify\/Name\/connectStateDidChange","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibnotify\/name\/connectstatedidchange"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBNotify/Name/trainStateDidChanged":{"role":"symbol","title":"trainStateDidChanged","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"trainStateDidChanged"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBNotify","preciseIdentifier":"s:12IOTBluetooth8IBNotifyC"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Name","preciseIdentifier":"s:12IOTBluetooth8IBNotifyC4NameV"}],"abstract":[{"type":"text","text":"训练状态变化,通过object获取状态IBTarinState对象"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify\/Name\/trainStateDidChanged","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibnotify\/name\/trainstatedidchanged"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBNotify/Name/takePhoto":{"role":"symbol","title":"takePhoto","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"takePhoto"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBNotify","preciseIdentifier":"s:12IOTBluetooth8IBNotifyC"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Name","preciseIdentifier":"s:12IOTBluetooth8IBNotifyC4NameV"}],"abstract":[{"type":"text","text":"远程拍照动作。通过object获取状态。2进行手势拍照,3退出"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify\/Name\/takePhoto","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibnotify\/name\/takephoto"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBNotify/Name/weather":{"role":"symbol","title":"weather","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"weather"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBNotify","preciseIdentifier":"s:12IOTBluetooth8IBNotifyC"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Name","preciseIdentifier":"s:12IOTBluetooth8IBNotifyC4NameV"}],"abstract":[{"type":"text","text":"手表请求天气数据"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify\/Name\/weather","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibnotify\/name\/weather"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBNotify":{"role":"symbol","title":"IBNotify","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBNotify"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBNotify"}],"url":"\/documentation\/iotbluetooth\/ibnotify"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBNotify/Name/didFindDevice":{"role":"symbol","title":"didFindDevice","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"didFindDevice"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBNotify","preciseIdentifier":"s:12IOTBluetooth8IBNotifyC"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Name","preciseIdentifier":"s:12IOTBluetooth8IBNotifyC4NameV"}],"abstract":[{"type":"text","text":"找到设备"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify\/Name\/didFindDevice","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibnotify\/name\/didfinddevice"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBNotify/Name/trainingData":{"role":"symbol","title":"trainingData","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"trainingData"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBNotify","preciseIdentifier":"s:12IOTBluetooth8IBNotifyC"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Name","preciseIdentifier":"s:12IOTBluetooth8IBNotifyC4NameV"}],"abstract":[{"type":"text","text":"获取手表推送的训练实时数据,通过object获取状态IBTrainingData对象"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify\/Name\/trainingData","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibnotify\/name\/trainingdata"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBNotify/Name":{"role":"symbol","title":"IBNotify.Name","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"Name"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify\/Name","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Name"}],"url":"\/documentation\/iotbluetooth\/ibnotify\/name"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"connectStateDidChange"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify","preciseIdentifier":"s:12IOTBluetooth8IBNotifyC","text":"IBNotify"},{"kind":"text","text":"."},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify\/Name","preciseIdentifier":"s:12IOTBluetooth8IBNotifyC4NameV","text":"Name"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibnotify\/name\/connectstatedidchange"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify\/Name\/connectStateDidChange","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"连接状态发生改变。通过object 获取状态,0断开连接。1连上设备。"}],"kind":"symbol","metadata":{"role":"symbol","title":"connectStateDidChange","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"connectStateDidChange"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBNotify","preciseIdentifier":"s:12IOTBluetooth8IBNotifyC"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Name","preciseIdentifier":"s:12IOTBluetooth8IBNotifyC4NameV"}],"symbolKind":"property","externalID":"s:12IOTBluetooth8IBNotifyC4NameV21connectStateDidChangeAEvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify\/Name"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBNotify/Name/connectStateDidChange":{"role":"symbol","title":"connectStateDidChange","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"connectStateDidChange"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBNotify","preciseIdentifier":"s:12IOTBluetooth8IBNotifyC"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Name","preciseIdentifier":"s:12IOTBluetooth8IBNotifyC4NameV"}],"abstract":[{"type":"text","text":"连接状态发生改变。通过object 获取状态,0断开连接。1连上设备。"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify\/Name\/connectStateDidChange","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibnotify\/name\/connectstatedidchange"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBNotify/Name":{"role":"symbol","title":"IBNotify.Name","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"Name"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify\/Name","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Name"}],"url":"\/documentation\/iotbluetooth\/ibnotify\/name"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBNotify":{"role":"symbol","title":"IBNotify","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBNotify"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBNotify"}],"url":"\/documentation\/iotbluetooth\/ibnotify"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"didFindDevice"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify","preciseIdentifier":"s:12IOTBluetooth8IBNotifyC","text":"IBNotify"},{"kind":"text","text":"."},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify\/Name","preciseIdentifier":"s:12IOTBluetooth8IBNotifyC4NameV","text":"Name"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibnotify\/name\/didfinddevice"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify\/Name\/didFindDevice","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"找到设备"}],"kind":"symbol","metadata":{"role":"symbol","title":"didFindDevice","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"didFindDevice"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBNotify","preciseIdentifier":"s:12IOTBluetooth8IBNotifyC"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Name","preciseIdentifier":"s:12IOTBluetooth8IBNotifyC4NameV"}],"symbolKind":"property","externalID":"s:12IOTBluetooth8IBNotifyC4NameV13didFindDeviceAEvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify\/Name"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBNotify/Name/didFindDevice":{"role":"symbol","title":"didFindDevice","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"didFindDevice"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBNotify","preciseIdentifier":"s:12IOTBluetooth8IBNotifyC"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Name","preciseIdentifier":"s:12IOTBluetooth8IBNotifyC4NameV"}],"abstract":[{"type":"text","text":"找到设备"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify\/Name\/didFindDevice","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibnotify\/name\/didfinddevice"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBNotify":{"role":"symbol","title":"IBNotify","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBNotify"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBNotify"}],"url":"\/documentation\/iotbluetooth\/ibnotify"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBNotify/Name":{"role":"symbol","title":"IBNotify.Name","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"Name"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify\/Name","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Name"}],"url":"\/documentation\/iotbluetooth\/ibnotify\/name"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"takePhoto"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify","preciseIdentifier":"s:12IOTBluetooth8IBNotifyC","text":"IBNotify"},{"kind":"text","text":"."},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify\/Name","preciseIdentifier":"s:12IOTBluetooth8IBNotifyC4NameV","text":"Name"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibnotify\/name\/takephoto"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify\/Name\/takePhoto","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"远程拍照动作。通过object获取状态。2进行手势拍照,3退出"}],"kind":"symbol","metadata":{"role":"symbol","title":"takePhoto","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"takePhoto"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBNotify","preciseIdentifier":"s:12IOTBluetooth8IBNotifyC"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Name","preciseIdentifier":"s:12IOTBluetooth8IBNotifyC4NameV"}],"symbolKind":"property","externalID":"s:12IOTBluetooth8IBNotifyC4NameV9takePhotoAEvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify\/Name"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBNotify/Name/takePhoto":{"role":"symbol","title":"takePhoto","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"takePhoto"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBNotify","preciseIdentifier":"s:12IOTBluetooth8IBNotifyC"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Name","preciseIdentifier":"s:12IOTBluetooth8IBNotifyC4NameV"}],"abstract":[{"type":"text","text":"远程拍照动作。通过object获取状态。2进行手势拍照,3退出"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify\/Name\/takePhoto","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibnotify\/name\/takephoto"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBNotify/Name":{"role":"symbol","title":"IBNotify.Name","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"Name"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify\/Name","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Name"}],"url":"\/documentation\/iotbluetooth\/ibnotify\/name"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBNotify":{"role":"symbol","title":"IBNotify","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBNotify"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBNotify"}],"url":"\/documentation\/iotbluetooth\/ibnotify"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"trainingData"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify","preciseIdentifier":"s:12IOTBluetooth8IBNotifyC","text":"IBNotify"},{"kind":"text","text":"."},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify\/Name","preciseIdentifier":"s:12IOTBluetooth8IBNotifyC4NameV","text":"Name"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibnotify\/name\/trainingdata"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify\/Name\/trainingData","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"获取手表推送的训练实时数据,通过object获取状态IBTrainingData对象"}],"kind":"symbol","metadata":{"role":"symbol","title":"trainingData","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"trainingData"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBNotify","preciseIdentifier":"s:12IOTBluetooth8IBNotifyC"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Name","preciseIdentifier":"s:12IOTBluetooth8IBNotifyC4NameV"}],"symbolKind":"property","externalID":"s:12IOTBluetooth8IBNotifyC4NameV12trainingDataAEvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify\/Name"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBNotify":{"role":"symbol","title":"IBNotify","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBNotify"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBNotify"}],"url":"\/documentation\/iotbluetooth\/ibnotify"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBNotify/Name/trainingData":{"role":"symbol","title":"trainingData","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"trainingData"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBNotify","preciseIdentifier":"s:12IOTBluetooth8IBNotifyC"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Name","preciseIdentifier":"s:12IOTBluetooth8IBNotifyC4NameV"}],"abstract":[{"type":"text","text":"获取手表推送的训练实时数据,通过object获取状态IBTrainingData对象"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify\/Name\/trainingData","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibnotify\/name\/trainingdata"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBNotify/Name":{"role":"symbol","title":"IBNotify.Name","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"Name"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify\/Name","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Name"}],"url":"\/documentation\/iotbluetooth\/ibnotify\/name"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"trainStateDidChanged"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify","preciseIdentifier":"s:12IOTBluetooth8IBNotifyC","text":"IBNotify"},{"kind":"text","text":"."},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify\/Name","preciseIdentifier":"s:12IOTBluetooth8IBNotifyC4NameV","text":"Name"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibnotify\/name\/trainstatedidchanged"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify\/Name\/trainStateDidChanged","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"训练状态变化,通过object获取状态IBTarinState对象"}],"kind":"symbol","metadata":{"role":"symbol","title":"trainStateDidChanged","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"trainStateDidChanged"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBNotify","preciseIdentifier":"s:12IOTBluetooth8IBNotifyC"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Name","preciseIdentifier":"s:12IOTBluetooth8IBNotifyC4NameV"}],"symbolKind":"property","externalID":"s:12IOTBluetooth8IBNotifyC4NameV20trainStateDidChangedAEvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify\/Name"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBNotify":{"role":"symbol","title":"IBNotify","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBNotify"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBNotify"}],"url":"\/documentation\/iotbluetooth\/ibnotify"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBNotify/Name":{"role":"symbol","title":"IBNotify.Name","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"Name"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify\/Name","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Name"}],"url":"\/documentation\/iotbluetooth\/ibnotify\/name"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBNotify/Name/trainStateDidChanged":{"role":"symbol","title":"trainStateDidChanged","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"trainStateDidChanged"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBNotify","preciseIdentifier":"s:12IOTBluetooth8IBNotifyC"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Name","preciseIdentifier":"s:12IOTBluetooth8IBNotifyC4NameV"}],"abstract":[{"type":"text","text":"训练状态变化,通过object获取状态IBTarinState对象"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify\/Name\/trainStateDidChanged","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibnotify\/name\/trainstatedidchanged"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"weather"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify","preciseIdentifier":"s:12IOTBluetooth8IBNotifyC","text":"IBNotify"},{"kind":"text","text":"."},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify\/Name","preciseIdentifier":"s:12IOTBluetooth8IBNotifyC4NameV","text":"Name"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibnotify\/name\/weather"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify\/Name\/weather","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"手表请求天气数据"}],"kind":"symbol","metadata":{"role":"symbol","title":"weather","roleHeading":"Type Property","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"weather"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBNotify","preciseIdentifier":"s:12IOTBluetooth8IBNotifyC"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Name","preciseIdentifier":"s:12IOTBluetooth8IBNotifyC4NameV"}],"symbolKind":"property","externalID":"s:12IOTBluetooth8IBNotifyC4NameV7weatherAEvpZ","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify\/Name"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBNotify":{"role":"symbol","title":"IBNotify","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBNotify"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBNotify"}],"url":"\/documentation\/iotbluetooth\/ibnotify"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBNotify/Name/weather":{"role":"symbol","title":"weather","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"weather"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBNotify","preciseIdentifier":"s:12IOTBluetooth8IBNotifyC"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Name","preciseIdentifier":"s:12IOTBluetooth8IBNotifyC4NameV"}],"abstract":[{"type":"text","text":"手表请求天气数据"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify\/Name\/weather","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibnotify\/name\/weather"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBNotify/Name":{"role":"symbol","title":"IBNotify.Name","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"Name"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBNotify\/Name","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Name"}],"url":"\/documentation\/iotbluetooth\/ibnotify\/name"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBOtaFile"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibotafile"],"traits":[{"interfaceLanguage":"swift"}]}],"relationshipsSections":[{"identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/Se","doc:\/\/com.thisiot.IOTBluetooth\/SE"],"kind":"relationships","title":"Conforms To","type":"conformsTo"}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtaFile","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"OTA文件模型"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBOtaFile"}],"title":"IBOtaFile","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:12IOTBluetooth9IBOtaFileC","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBOtaFile"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"topicSections":[{"title":"Initializers","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtaFile\/init(from:)"]}],"references":{"doc://com.thisiot.IOTBluetooth/SE":{"type":"unresolvable","title":"Swift.Encodable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/SE"},"doc://com.thisiot.IOTBluetooth/Se":{"type":"unresolvable","title":"Swift.Decodable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/Se"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBOtaFile/init(from:)":{"role":"symbol","title":"init(from:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtaFile\/init(from:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibotafile\/init(from:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBOtaFile":{"role":"symbol","title":"IBOtaFile","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBOtaFile"}],"abstract":[{"type":"text","text":"OTA文件模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtaFile","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBOtaFile"}],"url":"\/documentation\/iotbluetooth\/ibotafile"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":" "},{"kind":"internalParam","text":"decoder"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibotafile\/init(from:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtaFile\/init(from:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"Decodable.init(from:)"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"title":"init(from:)","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth9IBOtaFileC4fromACs7Decoder_p_tKcfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtaFile"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBOtaFile/init(from:)":{"role":"symbol","title":"init(from:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtaFile\/init(from:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibotafile\/init(from:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBOtaFile":{"role":"symbol","title":"IBOtaFile","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBOtaFile"}],"abstract":[{"type":"text","text":"OTA文件模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtaFile","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBOtaFile"}],"url":"\/documentation\/iotbluetooth\/ibotafile"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBOtherTarget"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibothertarget"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtherTarget","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"其他目标设置模型"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBOtherTarget"}],"title":"IBOtherTarget","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:12IOTBluetooth13IBOtherTargetC","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBOtherTarget"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"topicSections":[{"title":"Initializers","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtherTarget\/init()"]},{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtherTarget\/burning","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtherTarget\/calorie","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtherTarget\/mileage","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtherTarget\/noticeState","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtherTarget\/ringsState","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtherTarget\/stand","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtherTarget\/vibrateState"]}],"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBOtherTarget/stand":{"role":"symbol","title":"stand","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"stand"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"目标站立次数,单位次"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtherTarget\/stand","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibothertarget\/stand"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBOtherTarget/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtherTarget\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibothertarget\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBOtherTarget/mileage":{"role":"symbol","title":"mileage","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"mileage"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"目标里程,单位公里"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtherTarget\/mileage","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibothertarget\/mileage"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBOtherTarget/vibrateState":{"role":"symbol","title":"vibrateState","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"vibrateState"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"震动提醒 0:关闭 1:开启"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtherTarget\/vibrateState","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibothertarget\/vibratestate"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBOtherTarget/calorie":{"role":"symbol","title":"calorie","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"calorie"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"目标卡路里,单位千卡"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtherTarget\/calorie","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibothertarget\/calorie"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBOtherTarget/burning":{"role":"symbol","title":"burning","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"burning"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"目标燃脂时间,单位分钟"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtherTarget\/burning","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibothertarget\/burning"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBOtherTarget":{"role":"symbol","title":"IBOtherTarget","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBOtherTarget"}],"abstract":[{"type":"text","text":"其他目标设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtherTarget","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBOtherTarget"}],"url":"\/documentation\/iotbluetooth\/ibothertarget"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBOtherTarget/ringsState":{"role":"symbol","title":"ringsState","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"ringsState"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"铃声提醒 0:关闭 1:开启"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtherTarget\/ringsState","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibothertarget\/ringsstate"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBOtherTarget/noticeState":{"role":"symbol","title":"noticeState","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"noticeState"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"通知提醒 0:关闭 1:开启"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtherTarget\/noticeState","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibothertarget\/noticestate"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"burning"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibothertarget\/burning"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtherTarget\/burning","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"目标燃脂时间,单位分钟"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"burning"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"burning","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth13IBOtherTargetC7burningSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtherTarget"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBOtherTarget":{"role":"symbol","title":"IBOtherTarget","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBOtherTarget"}],"abstract":[{"type":"text","text":"其他目标设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtherTarget","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBOtherTarget"}],"url":"\/documentation\/iotbluetooth\/ibothertarget"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBOtherTarget/burning":{"role":"symbol","title":"burning","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"burning"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"目标燃脂时间,单位分钟"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtherTarget\/burning","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibothertarget\/burning"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"calorie"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibothertarget\/calorie"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtherTarget\/calorie","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"目标卡路里,单位千卡"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"calorie"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"calorie","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth13IBOtherTargetC7calorieSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtherTarget"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBOtherTarget/calorie":{"role":"symbol","title":"calorie","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"calorie"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"目标卡路里,单位千卡"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtherTarget\/calorie","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibothertarget\/calorie"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBOtherTarget":{"role":"symbol","title":"IBOtherTarget","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBOtherTarget"}],"abstract":[{"type":"text","text":"其他目标设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtherTarget","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBOtherTarget"}],"url":"\/documentation\/iotbluetooth\/ibothertarget"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"()"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibothertarget\/init()"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtherTarget\/init()","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"title":"init()","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth13IBOtherTargetCACycfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtherTarget"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBOtherTarget":{"role":"symbol","title":"IBOtherTarget","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBOtherTarget"}],"abstract":[{"type":"text","text":"其他目标设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtherTarget","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBOtherTarget"}],"url":"\/documentation\/iotbluetooth\/ibothertarget"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBOtherTarget/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtherTarget\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibothertarget\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"mileage"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibothertarget\/mileage"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtherTarget\/mileage","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"目标里程,单位公里"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"mileage"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"mileage","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth13IBOtherTargetC7mileageSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtherTarget"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBOtherTarget/mileage":{"role":"symbol","title":"mileage","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"mileage"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"目标里程,单位公里"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtherTarget\/mileage","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibothertarget\/mileage"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBOtherTarget":{"role":"symbol","title":"IBOtherTarget","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBOtherTarget"}],"abstract":[{"type":"text","text":"其他目标设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtherTarget","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBOtherTarget"}],"url":"\/documentation\/iotbluetooth\/ibothertarget"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"noticeState"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibothertarget\/noticestate"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtherTarget\/noticeState","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"通知提醒 0:关闭 1:开启"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"noticeState"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"noticeState","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth13IBOtherTargetC11noticeStateSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtherTarget"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBOtherTarget":{"role":"symbol","title":"IBOtherTarget","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBOtherTarget"}],"abstract":[{"type":"text","text":"其他目标设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtherTarget","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBOtherTarget"}],"url":"\/documentation\/iotbluetooth\/ibothertarget"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBOtherTarget/noticeState":{"role":"symbol","title":"noticeState","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"noticeState"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"通知提醒 0:关闭 1:开启"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtherTarget\/noticeState","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibothertarget\/noticestate"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"ringsState"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibothertarget\/ringsstate"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtherTarget\/ringsState","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"铃声提醒 0:关闭 1:开启"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"ringsState"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"ringsState","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth13IBOtherTargetC10ringsStateSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtherTarget"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBOtherTarget/ringsState":{"role":"symbol","title":"ringsState","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"ringsState"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"铃声提醒 0:关闭 1:开启"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtherTarget\/ringsState","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibothertarget\/ringsstate"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBOtherTarget":{"role":"symbol","title":"IBOtherTarget","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBOtherTarget"}],"abstract":[{"type":"text","text":"其他目标设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtherTarget","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBOtherTarget"}],"url":"\/documentation\/iotbluetooth\/ibothertarget"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"stand"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibothertarget\/stand"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtherTarget\/stand","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"目标站立次数,单位次"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"stand"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"stand","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth13IBOtherTargetC5standSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtherTarget"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBOtherTarget/stand":{"role":"symbol","title":"stand","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"stand"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"目标站立次数,单位次"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtherTarget\/stand","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibothertarget\/stand"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBOtherTarget":{"role":"symbol","title":"IBOtherTarget","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBOtherTarget"}],"abstract":[{"type":"text","text":"其他目标设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtherTarget","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBOtherTarget"}],"url":"\/documentation\/iotbluetooth\/ibothertarget"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"vibrateState"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibothertarget\/vibratestate"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtherTarget\/vibrateState","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"震动提醒 0:关闭 1:开启"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"vibrateState"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"vibrateState","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth13IBOtherTargetC12vibrateStateSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtherTarget"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBOtherTarget/vibrateState":{"role":"symbol","title":"vibrateState","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"vibrateState"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"震动提醒 0:关闭 1:开启"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtherTarget\/vibrateState","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibothertarget\/vibratestate"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBOtherTarget":{"role":"symbol","title":"IBOtherTarget","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBOtherTarget"}],"abstract":[{"type":"text","text":"其他目标设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtherTarget","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBOtherTarget"}],"url":"\/documentation\/iotbluetooth\/ibothertarget"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBParameter"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibparameter"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"参数"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBParameter"}],"title":"IBParameter","roleHeading":"Enumeration","role":"symbol","symbolKind":"enum","externalID":"s:12IOTBluetooth11IBParameterO","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBParameter"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"topicSections":[{"title":"Enumeration Cases","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/MP3(_:)","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/action(_:)","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/addressBook(_:)","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/aiResponse(_:)","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/auxiliary(_:)","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/bloodOxygen(_:)","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/clock(_:)","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/deleteFile(_:)","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/dial(_:)","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/dialFile(_:)","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/dialID(_:)","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/epo(_:)","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/fetchFils(_:)","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/file(_:)","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/heartRate(_:)","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/language(_:)","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/motionMode(_:)","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/ota(_:)","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/otherTarget(_:)","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/screen(_:)","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/sendPhone(_:)","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/sendTime(_:)","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/sleep(_:)","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/targetStep(_:)","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/trainTarget(_:)","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/userInfo(_:)","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/value(_:)","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/vibrateSound(_:)","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/water(_:)","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/weather(_:)"]}],"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter/vibrateSound(_:)":{"role":"symbol","title":"IBParameter.vibrateSound(_:)","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"vibrateSound"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBVibrateConfig","preciseIdentifier":"s:12IOTBluetooth15IBVibrateConfigC"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"设置声音和震动"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/vibrateSound(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibparameter\/vibratesound(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter/value(_:)":{"role":"symbol","title":"IBParameter.value(_:)","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"value"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"通用值设置"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/value(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibparameter\/value(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter/fetchFils(_:)":{"role":"symbol","title":"IBParameter.fetchFils(_:)","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"fetchFils"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBFile","preciseIdentifier":"s:12IOTBluetooth6IBFileO"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"获取指定类型文件目录"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/fetchFils(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibparameter\/fetchfils(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter/aiResponse(_:)":{"role":"symbol","title":"IBParameter.aiResponse(_:)","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"aiResponse"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBAiResponse","preciseIdentifier":"s:12IOTBluetooth12IBAiResponseC"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"发送Ai回应内容"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/aiResponse(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibparameter\/airesponse(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter/MP3(_:)":{"role":"symbol","title":"IBParameter.MP3(_:)","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"MP3"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBMp3File","preciseIdentifier":"s:12IOTBluetooth9IBMp3FileC"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"发送mp3文件信息"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/MP3(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibparameter\/mp3(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter/targetStep(_:)":{"role":"symbol","title":"IBParameter.targetStep(_:)","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"targetStep"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBTargetStep","preciseIdentifier":"s:12IOTBluetooth12IBTargetStepC"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"训练目标"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/targetStep(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibparameter\/targetstep(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter/dial(_:)":{"role":"symbol","title":"IBParameter.dial(_:)","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"dial"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBDial","preciseIdentifier":"s:12IOTBluetooth6IBDialC"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"发送表盘信息汇总"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/dial(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibparameter\/dial(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter/action(_:)":{"role":"symbol","title":"IBParameter.action(_:)","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"action"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"1=(开始、启用、开启),0=(停止、禁用、关闭)"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/action(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibparameter\/action(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter/sendTime(_:)":{"role":"symbol","title":"IBParameter.sendTime(_:)","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"sendTime"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBSendTime","preciseIdentifier":"s:12IOTBluetooth10IBSendTimeC"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"发送当前时间"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/sendTime(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibparameter\/sendtime(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter/deleteFile(_:)":{"role":"symbol","title":"IBParameter.deleteFile(_:)","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"deleteFile"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBDeleteFile","preciseIdentifier":"s:12IOTBluetooth12IBDeleteFileC"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"删除指定文件"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/deleteFile(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibparameter\/deletefile(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter/dialFile(_:)":{"role":"symbol","title":"IBParameter.dialFile(_:)","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"dialFile"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBDialFile","preciseIdentifier":"s:12IOTBluetooth10IBDialFileC"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"发送单个表盘文件信息"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/dialFile(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibparameter\/dialfile(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter/dialID(_:)":{"role":"symbol","title":"IBParameter.dialID(_:)","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"dialID"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"表盘ID"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/dialID(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibparameter\/dialid(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter/otherTarget(_:)":{"role":"symbol","title":"IBParameter.otherTarget(_:)","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"otherTarget"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBOtherTarget","preciseIdentifier":"s:12IOTBluetooth13IBOtherTargetC"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"设置目标设置"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/otherTarget(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibparameter\/othertarget(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter/heartRate(_:)":{"role":"symbol","title":"IBParameter.heartRate(_:)","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"heartRate"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBHeartRate","preciseIdentifier":"s:12IOTBluetooth11IBHeartRateC"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"设置心率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/heartRate(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibparameter\/heartrate(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter/file(_:)":{"role":"symbol","title":"IBParameter.file(_:)","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"file"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBFile","preciseIdentifier":"s:12IOTBluetooth6IBFileO"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"文件"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/file(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibparameter\/file(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter/clock(_:)":{"role":"symbol","title":"IBParameter.clock(_:)","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"clock"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBClock","preciseIdentifier":"s:12IOTBluetooth7IBClockC"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"设置闹钟"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/clock(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibparameter\/clock(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter/addressBook(_:)":{"role":"symbol","title":"IBParameter.addressBook(_:)","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"addressBook"},{"kind":"text","text":"(["},{"kind":"typeIdentifier","text":"IBAddressBook","preciseIdentifier":"s:12IOTBluetooth13IBAddressBookC"},{"kind":"text","text":"])"}],"abstract":[{"type":"text","text":"发送通讯录"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/addressBook(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibparameter\/addressbook(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter/trainTarget(_:)":{"role":"symbol","title":"IBParameter.trainTarget(_:)","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"trainTarget"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBTrainTarget","preciseIdentifier":"s:12IOTBluetooth13IBTrainTargetC"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"设置训练目标"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/trainTarget(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibparameter\/traintarget(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter/ota(_:)":{"role":"symbol","title":"IBParameter.ota(_:)","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"ota"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBOtaFile","preciseIdentifier":"s:12IOTBluetooth9IBOtaFileC"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"发送OTA文件信息"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/ota(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibparameter\/ota(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter/screen(_:)":{"role":"symbol","title":"IBParameter.screen(_:)","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"screen"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBScreenConfig","preciseIdentifier":"s:12IOTBluetooth14IBScreenConfigC"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"设置屏幕"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/screen(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibparameter\/screen(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter/weather(_:)":{"role":"symbol","title":"IBParameter.weather(_:)","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"weather"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBWeather","preciseIdentifier":"s:12IOTBluetooth9IBWeatherC"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"发送天气数据"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/weather(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibparameter\/weather(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter/water(_:)":{"role":"symbol","title":"IBParameter.water(_:)","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"water"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBWater","preciseIdentifier":"s:12IOTBluetooth7IBWaterC"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"喝水"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/water(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibparameter\/water(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter/language(_:)":{"role":"symbol","title":"IBParameter.language(_:)","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"language"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBLanguage","preciseIdentifier":"s:12IOTBluetooth10IBLanguageO"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"语言"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/language(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibparameter\/language(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter/bloodOxygen(_:)":{"role":"symbol","title":"IBParameter.bloodOxygen(_:)","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"bloodOxygen"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBBloodOxygen","preciseIdentifier":"s:12IOTBluetooth13IBBloodOxygenC"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"血氧"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/bloodOxygen(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibparameter\/bloodoxygen(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter/userInfo(_:)":{"role":"symbol","title":"IBParameter.userInfo(_:)","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"userInfo"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBUserInfo","preciseIdentifier":"s:12IOTBluetooth10IBUserInfoC"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"设置用户数据"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/userInfo(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibparameter\/userinfo(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter/sleep(_:)":{"role":"symbol","title":"IBParameter.sleep(_:)","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"sleep"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBSleep","preciseIdentifier":"s:12IOTBluetooth7IBSleepC"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"睡眠"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/sleep(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibparameter\/sleep(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter/auxiliary(_:)":{"role":"symbol","title":"IBParameter.auxiliary(_:)","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"auxiliary"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBAuxiliary","preciseIdentifier":"s:12IOTBluetooth11IBAuxiliaryO"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"设置辅助功能"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/auxiliary(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibparameter\/auxiliary(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter":{"role":"symbol","title":"IBParameter","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBParameter"}],"abstract":[{"type":"text","text":"参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBParameter"}],"url":"\/documentation\/iotbluetooth\/ibparameter"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter/epo(_:)":{"role":"symbol","title":"IBParameter.epo(_:)","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"epo"},{"kind":"text","text":"(["},{"kind":"typeIdentifier","text":"IBEpo","preciseIdentifier":"s:12IOTBluetooth5IBEpoC"},{"kind":"text","text":"])"}],"abstract":[{"type":"text","text":"发送EPO文件信息"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/epo(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibparameter\/epo(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter/sendPhone(_:)":{"role":"symbol","title":"IBParameter.sendPhone(_:)","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"sendPhone"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBPhoneInfo","preciseIdentifier":"s:12IOTBluetooth11IBPhoneInfoC"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"发送手机信息"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/sendPhone(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibparameter\/sendphone(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter/motionMode(_:)":{"role":"symbol","title":"IBParameter.motionMode(_:)","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"motionMode"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBMotionMode","preciseIdentifier":"s:12IOTBluetooth12IBMotionModeO"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"运动模式"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/motionMode(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibparameter\/motionmode(_:)"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"action"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibparameter\/action(_:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/action(_:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"1=(开始、启用、开启),0=(停止、禁用、关闭)"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"action"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}],"title":"IBParameter.action(_:)","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth11IBParameterO6actionyACSicACmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter":{"role":"symbol","title":"IBParameter","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBParameter"}],"abstract":[{"type":"text","text":"参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBParameter"}],"url":"\/documentation\/iotbluetooth\/ibparameter"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter/action(_:)":{"role":"symbol","title":"IBParameter.action(_:)","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"action"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"1=(开始、启用、开启),0=(停止、禁用、关闭)"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/action(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibparameter\/action(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"addressBook"},{"kind":"text","text":"(["},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddressBook","preciseIdentifier":"s:12IOTBluetooth13IBAddressBookC","text":"IBAddressBook"},{"kind":"text","text":"])"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibparameter\/addressbook(_:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/addressBook(_:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"发送通讯录"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"addressBook"},{"kind":"text","text":"(["},{"kind":"typeIdentifier","text":"IBAddressBook","preciseIdentifier":"s:12IOTBluetooth13IBAddressBookC"},{"kind":"text","text":"])"}],"title":"IBParameter.addressBook(_:)","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth11IBParameterO11addressBookyACSayAA09IBAddressD0CGcACmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter":{"role":"symbol","title":"IBParameter","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBParameter"}],"abstract":[{"type":"text","text":"参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBParameter"}],"url":"\/documentation\/iotbluetooth\/ibparameter"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter/addressBook(_:)":{"role":"symbol","title":"IBParameter.addressBook(_:)","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"addressBook"},{"kind":"text","text":"(["},{"kind":"typeIdentifier","text":"IBAddressBook","preciseIdentifier":"s:12IOTBluetooth13IBAddressBookC"},{"kind":"text","text":"])"}],"abstract":[{"type":"text","text":"发送通讯录"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/addressBook(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibparameter\/addressbook(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAddressBook":{"role":"symbol","title":"IBAddressBook","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAddressBook"}],"abstract":[{"type":"text","text":"通讯录模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddressBook","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAddressBook"}],"url":"\/documentation\/iotbluetooth\/ibaddressbook"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"aiResponse"},{"kind":"text","text":"("},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAiResponse","preciseIdentifier":"s:12IOTBluetooth12IBAiResponseC","text":"IBAiResponse"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibparameter\/airesponse(_:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/aiResponse(_:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"发送Ai回应内容"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"aiResponse"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBAiResponse","preciseIdentifier":"s:12IOTBluetooth12IBAiResponseC"},{"kind":"text","text":")"}],"title":"IBParameter.aiResponse(_:)","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth11IBParameterO10aiResponseyAcA04IBAiD0CcACmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAiResponse":{"role":"symbol","title":"IBAiResponse","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAiResponse"}],"abstract":[{"type":"text","text":"Ai回应模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAiResponse","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAiResponse"}],"url":"\/documentation\/iotbluetooth\/ibairesponse"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter":{"role":"symbol","title":"IBParameter","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBParameter"}],"abstract":[{"type":"text","text":"参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBParameter"}],"url":"\/documentation\/iotbluetooth\/ibparameter"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter/aiResponse(_:)":{"role":"symbol","title":"IBParameter.aiResponse(_:)","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"aiResponse"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBAiResponse","preciseIdentifier":"s:12IOTBluetooth12IBAiResponseC"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"发送Ai回应内容"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/aiResponse(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibparameter\/airesponse(_:)"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"auxiliary"},{"kind":"text","text":"("},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary","preciseIdentifier":"s:12IOTBluetooth11IBAuxiliaryO","text":"IBAuxiliary"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibparameter\/auxiliary(_:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/auxiliary(_:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"设置辅助功能"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"auxiliary"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBAuxiliary","preciseIdentifier":"s:12IOTBluetooth11IBAuxiliaryO"},{"kind":"text","text":")"}],"title":"IBParameter.auxiliary(_:)","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth11IBParameterO9auxiliaryyAcA11IBAuxiliaryOcACmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter":{"role":"symbol","title":"IBParameter","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBParameter"}],"abstract":[{"type":"text","text":"参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBParameter"}],"url":"\/documentation\/iotbluetooth\/ibparameter"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter/auxiliary(_:)":{"role":"symbol","title":"IBParameter.auxiliary(_:)","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"auxiliary"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBAuxiliary","preciseIdentifier":"s:12IOTBluetooth11IBAuxiliaryO"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"设置辅助功能"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/auxiliary(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibparameter\/auxiliary(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAuxiliary":{"role":"symbol","title":"IBAuxiliary","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAuxiliary"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAuxiliary","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAuxiliary"}],"url":"\/documentation\/iotbluetooth\/ibauxiliary"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"bloodOxygen"},{"kind":"text","text":"("},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygen","preciseIdentifier":"s:12IOTBluetooth13IBBloodOxygenC","text":"IBBloodOxygen"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibparameter\/bloodoxygen(_:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/bloodOxygen(_:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"血氧"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"bloodOxygen"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBBloodOxygen","preciseIdentifier":"s:12IOTBluetooth13IBBloodOxygenC"},{"kind":"text","text":")"}],"title":"IBParameter.bloodOxygen(_:)","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth11IBParameterO11bloodOxygenyAcA07IBBloodD0CcACmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter/bloodOxygen(_:)":{"role":"symbol","title":"IBParameter.bloodOxygen(_:)","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"bloodOxygen"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBBloodOxygen","preciseIdentifier":"s:12IOTBluetooth13IBBloodOxygenC"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"血氧"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/bloodOxygen(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibparameter\/bloodoxygen(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter":{"role":"symbol","title":"IBParameter","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBParameter"}],"abstract":[{"type":"text","text":"参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBParameter"}],"url":"\/documentation\/iotbluetooth\/ibparameter"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBBloodOxygen":{"role":"symbol","title":"IBBloodOxygen","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBBloodOxygen"}],"abstract":[{"type":"text","text":"血氧设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBBloodOxygen","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBBloodOxygen"}],"url":"\/documentation\/iotbluetooth\/ibbloodoxygen"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"clock"},{"kind":"text","text":"("},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClock","preciseIdentifier":"s:12IOTBluetooth7IBClockC","text":"IBClock"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibparameter\/clock(_:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/clock(_:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"设置闹钟"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"clock"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBClock","preciseIdentifier":"s:12IOTBluetooth7IBClockC"},{"kind":"text","text":")"}],"title":"IBParameter.clock(_:)","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth11IBParameterO5clockyAcA7IBClockCcACmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter/clock(_:)":{"role":"symbol","title":"IBParameter.clock(_:)","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"clock"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBClock","preciseIdentifier":"s:12IOTBluetooth7IBClockC"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"设置闹钟"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/clock(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibparameter\/clock(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBClock":{"role":"symbol","title":"IBClock","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBClock"}],"abstract":[{"type":"text","text":"闹钟模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBClock","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBClock"}],"url":"\/documentation\/iotbluetooth\/ibclock"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter":{"role":"symbol","title":"IBParameter","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBParameter"}],"abstract":[{"type":"text","text":"参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBParameter"}],"url":"\/documentation\/iotbluetooth\/ibparameter"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"deleteFile"},{"kind":"text","text":"("},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDeleteFile","preciseIdentifier":"s:12IOTBluetooth12IBDeleteFileC","text":"IBDeleteFile"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibparameter\/deletefile(_:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/deleteFile(_:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"删除指定文件"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"deleteFile"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBDeleteFile","preciseIdentifier":"s:12IOTBluetooth12IBDeleteFileC"},{"kind":"text","text":")"}],"title":"IBParameter.deleteFile(_:)","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth11IBParameterO10deleteFileyAcA08IBDeleteD0CcACmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDeleteFile":{"role":"symbol","title":"IBDeleteFile","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBDeleteFile"}],"abstract":[{"type":"text","text":"删除文件模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDeleteFile","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBDeleteFile"}],"url":"\/documentation\/iotbluetooth\/ibdeletefile"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter/deleteFile(_:)":{"role":"symbol","title":"IBParameter.deleteFile(_:)","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"deleteFile"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBDeleteFile","preciseIdentifier":"s:12IOTBluetooth12IBDeleteFileC"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"删除指定文件"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/deleteFile(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibparameter\/deletefile(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter":{"role":"symbol","title":"IBParameter","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBParameter"}],"abstract":[{"type":"text","text":"参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBParameter"}],"url":"\/documentation\/iotbluetooth\/ibparameter"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"dial"},{"kind":"text","text":"("},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDial","preciseIdentifier":"s:12IOTBluetooth6IBDialC","text":"IBDial"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibparameter\/dial(_:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/dial(_:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"发送表盘信息汇总"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"dial"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBDial","preciseIdentifier":"s:12IOTBluetooth6IBDialC"},{"kind":"text","text":")"}],"title":"IBParameter.dial(_:)","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth11IBParameterO4dialyAcA6IBDialCcACmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDial":{"role":"symbol","title":"IBDial","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBDial"}],"abstract":[{"type":"text","text":"表盘文件汇总信息模型(目前只支持表盘市场)"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDial","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBDial"}],"url":"\/documentation\/iotbluetooth\/ibdial"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter/dial(_:)":{"role":"symbol","title":"IBParameter.dial(_:)","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"dial"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBDial","preciseIdentifier":"s:12IOTBluetooth6IBDialC"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"发送表盘信息汇总"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/dial(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibparameter\/dial(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter":{"role":"symbol","title":"IBParameter","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBParameter"}],"abstract":[{"type":"text","text":"参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBParameter"}],"url":"\/documentation\/iotbluetooth\/ibparameter"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"dialFile"},{"kind":"text","text":"("},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDialFile","preciseIdentifier":"s:12IOTBluetooth10IBDialFileC","text":"IBDialFile"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibparameter\/dialfile(_:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/dialFile(_:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"发送单个表盘文件信息"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"dialFile"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBDialFile","preciseIdentifier":"s:12IOTBluetooth10IBDialFileC"},{"kind":"text","text":")"}],"title":"IBParameter.dialFile(_:)","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth11IBParameterO8dialFileyAcA06IBDialD0CcACmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter":{"role":"symbol","title":"IBParameter","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBParameter"}],"abstract":[{"type":"text","text":"参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBParameter"}],"url":"\/documentation\/iotbluetooth\/ibparameter"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDialFile":{"role":"symbol","title":"IBDialFile","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBDialFile"}],"abstract":[{"type":"text","text":"单个表盘文件信息模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDialFile","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBDialFile"}],"url":"\/documentation\/iotbluetooth\/ibdialfile"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter/dialFile(_:)":{"role":"symbol","title":"IBParameter.dialFile(_:)","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"dialFile"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBDialFile","preciseIdentifier":"s:12IOTBluetooth10IBDialFileC"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"发送单个表盘文件信息"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/dialFile(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibparameter\/dialfile(_:)"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"dialID"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibparameter\/dialid(_:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/dialID(_:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"表盘ID"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"dialID"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}],"title":"IBParameter.dialID(_:)","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth11IBParameterO6dialIDyACSicACmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter/dialID(_:)":{"role":"symbol","title":"IBParameter.dialID(_:)","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"dialID"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"表盘ID"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/dialID(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibparameter\/dialid(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter":{"role":"symbol","title":"IBParameter","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBParameter"}],"abstract":[{"type":"text","text":"参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBParameter"}],"url":"\/documentation\/iotbluetooth\/ibparameter"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"epo"},{"kind":"text","text":"(["},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBEpo","preciseIdentifier":"s:12IOTBluetooth5IBEpoC","text":"IBEpo"},{"kind":"text","text":"])"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibparameter\/epo(_:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/epo(_:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"发送EPO文件信息"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"epo"},{"kind":"text","text":"(["},{"kind":"typeIdentifier","text":"IBEpo","preciseIdentifier":"s:12IOTBluetooth5IBEpoC"},{"kind":"text","text":"])"}],"title":"IBParameter.epo(_:)","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth11IBParameterO3epoyACSayAA5IBEpoCGcACmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBEpo":{"role":"symbol","title":"IBEpo","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBEpo"}],"abstract":[{"type":"text","text":"IBEpo信息模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBEpo","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBEpo"}],"url":"\/documentation\/iotbluetooth\/ibepo"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter/epo(_:)":{"role":"symbol","title":"IBParameter.epo(_:)","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"epo"},{"kind":"text","text":"(["},{"kind":"typeIdentifier","text":"IBEpo","preciseIdentifier":"s:12IOTBluetooth5IBEpoC"},{"kind":"text","text":"])"}],"abstract":[{"type":"text","text":"发送EPO文件信息"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/epo(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibparameter\/epo(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter":{"role":"symbol","title":"IBParameter","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBParameter"}],"abstract":[{"type":"text","text":"参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBParameter"}],"url":"\/documentation\/iotbluetooth\/ibparameter"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"fetchFils"},{"kind":"text","text":"("},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile","preciseIdentifier":"s:12IOTBluetooth6IBFileO","text":"IBFile"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibparameter\/fetchfils(_:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/fetchFils(_:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"获取指定类型文件目录"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"fetchFils"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBFile","preciseIdentifier":"s:12IOTBluetooth6IBFileO"},{"kind":"text","text":")"}],"title":"IBParameter.fetchFils(_:)","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth11IBParameterO9fetchFilsyAcA6IBFileOcACmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter":{"role":"symbol","title":"IBParameter","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBParameter"}],"abstract":[{"type":"text","text":"参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBParameter"}],"url":"\/documentation\/iotbluetooth\/ibparameter"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter/fetchFils(_:)":{"role":"symbol","title":"IBParameter.fetchFils(_:)","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"fetchFils"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBFile","preciseIdentifier":"s:12IOTBluetooth6IBFileO"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"获取指定类型文件目录"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/fetchFils(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibparameter\/fetchfils(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFile":{"role":"symbol","title":"IBFile","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFile"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBFile"}],"url":"\/documentation\/iotbluetooth\/ibfile"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"file"},{"kind":"text","text":"("},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile","preciseIdentifier":"s:12IOTBluetooth6IBFileO","text":"IBFile"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibparameter\/file(_:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/file(_:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"文件"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"file"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBFile","preciseIdentifier":"s:12IOTBluetooth6IBFileO"},{"kind":"text","text":")"}],"title":"IBParameter.file(_:)","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth11IBParameterO4fileyAcA6IBFileOcACmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFile":{"role":"symbol","title":"IBFile","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFile"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFile","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBFile"}],"url":"\/documentation\/iotbluetooth\/ibfile"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter/file(_:)":{"role":"symbol","title":"IBParameter.file(_:)","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"file"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBFile","preciseIdentifier":"s:12IOTBluetooth6IBFileO"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"文件"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/file(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibparameter\/file(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter":{"role":"symbol","title":"IBParameter","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBParameter"}],"abstract":[{"type":"text","text":"参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBParameter"}],"url":"\/documentation\/iotbluetooth\/ibparameter"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"heartRate"},{"kind":"text","text":"("},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRate","preciseIdentifier":"s:12IOTBluetooth11IBHeartRateC","text":"IBHeartRate"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibparameter\/heartrate(_:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/heartRate(_:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"设置心率"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"heartRate"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBHeartRate","preciseIdentifier":"s:12IOTBluetooth11IBHeartRateC"},{"kind":"text","text":")"}],"title":"IBParameter.heartRate(_:)","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth11IBParameterO9heartRateyAcA07IBHeartD0CcACmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBHeartRate":{"role":"symbol","title":"IBHeartRate","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBHeartRate"}],"abstract":[{"type":"text","text":"心率设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBHeartRate","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBHeartRate"}],"url":"\/documentation\/iotbluetooth\/ibheartrate"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter/heartRate(_:)":{"role":"symbol","title":"IBParameter.heartRate(_:)","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"heartRate"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBHeartRate","preciseIdentifier":"s:12IOTBluetooth11IBHeartRateC"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"设置心率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/heartRate(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibparameter\/heartrate(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter":{"role":"symbol","title":"IBParameter","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBParameter"}],"abstract":[{"type":"text","text":"参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBParameter"}],"url":"\/documentation\/iotbluetooth\/ibparameter"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"language"},{"kind":"text","text":"("},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage","preciseIdentifier":"s:12IOTBluetooth10IBLanguageO","text":"IBLanguage"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibparameter\/language(_:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/language(_:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"语言"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"language"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBLanguage","preciseIdentifier":"s:12IOTBluetooth10IBLanguageO"},{"kind":"text","text":")"}],"title":"IBParameter.language(_:)","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth11IBParameterO8languageyAcA10IBLanguageOcACmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBLanguage":{"role":"symbol","title":"IBLanguage","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBLanguage"}],"abstract":[{"type":"text","text":"语言原始值从 0 开始递增"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBLanguage","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBLanguage"}],"url":"\/documentation\/iotbluetooth\/iblanguage"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter/language(_:)":{"role":"symbol","title":"IBParameter.language(_:)","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"language"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBLanguage","preciseIdentifier":"s:12IOTBluetooth10IBLanguageO"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"语言"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/language(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibparameter\/language(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter":{"role":"symbol","title":"IBParameter","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBParameter"}],"abstract":[{"type":"text","text":"参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBParameter"}],"url":"\/documentation\/iotbluetooth\/ibparameter"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"motionMode"},{"kind":"text","text":"("},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMotionMode","preciseIdentifier":"s:12IOTBluetooth12IBMotionModeO","text":"IBMotionMode"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibparameter\/motionmode(_:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/motionMode(_:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"运动模式"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"motionMode"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBMotionMode","preciseIdentifier":"s:12IOTBluetooth12IBMotionModeO"},{"kind":"text","text":")"}],"title":"IBParameter.motionMode(_:)","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth11IBParameterO10motionModeyAcA08IBMotionD0OcACmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter":{"role":"symbol","title":"IBParameter","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBParameter"}],"abstract":[{"type":"text","text":"参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBParameter"}],"url":"\/documentation\/iotbluetooth\/ibparameter"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter/motionMode(_:)":{"role":"symbol","title":"IBParameter.motionMode(_:)","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"motionMode"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBMotionMode","preciseIdentifier":"s:12IOTBluetooth12IBMotionModeO"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"运动模式"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/motionMode(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibparameter\/motionmode(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBMotionMode":{"role":"symbol","title":"IBMotionMode","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBMotionMode"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMotionMode","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBMotionMode"}],"url":"\/documentation\/iotbluetooth\/ibmotionmode"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"MP3"},{"kind":"text","text":"("},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMp3File","preciseIdentifier":"s:12IOTBluetooth9IBMp3FileC","text":"IBMp3File"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibparameter\/mp3(_:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/MP3(_:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"发送mp3文件信息"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"MP3"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBMp3File","preciseIdentifier":"s:12IOTBluetooth9IBMp3FileC"},{"kind":"text","text":")"}],"title":"IBParameter.MP3(_:)","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth11IBParameterO3MP3yAcA9IBMp3FileCcACmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter/MP3(_:)":{"role":"symbol","title":"IBParameter.MP3(_:)","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"MP3"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBMp3File","preciseIdentifier":"s:12IOTBluetooth9IBMp3FileC"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"发送mp3文件信息"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/MP3(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibparameter\/mp3(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter":{"role":"symbol","title":"IBParameter","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBParameter"}],"abstract":[{"type":"text","text":"参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBParameter"}],"url":"\/documentation\/iotbluetooth\/ibparameter"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBMp3File":{"role":"symbol","title":"IBMp3File","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBMp3File"}],"abstract":[{"type":"text","text":"mp3文件模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBMp3File","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBMp3File"}],"url":"\/documentation\/iotbluetooth\/ibmp3file"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"ota"},{"kind":"text","text":"("},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtaFile","preciseIdentifier":"s:12IOTBluetooth9IBOtaFileC","text":"IBOtaFile"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibparameter\/ota(_:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/ota(_:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"发送OTA文件信息"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"ota"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBOtaFile","preciseIdentifier":"s:12IOTBluetooth9IBOtaFileC"},{"kind":"text","text":")"}],"title":"IBParameter.ota(_:)","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth11IBParameterO3otayAcA9IBOtaFileCcACmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter/ota(_:)":{"role":"symbol","title":"IBParameter.ota(_:)","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"ota"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBOtaFile","preciseIdentifier":"s:12IOTBluetooth9IBOtaFileC"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"发送OTA文件信息"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/ota(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibparameter\/ota(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter":{"role":"symbol","title":"IBParameter","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBParameter"}],"abstract":[{"type":"text","text":"参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBParameter"}],"url":"\/documentation\/iotbluetooth\/ibparameter"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBOtaFile":{"role":"symbol","title":"IBOtaFile","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBOtaFile"}],"abstract":[{"type":"text","text":"OTA文件模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtaFile","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBOtaFile"}],"url":"\/documentation\/iotbluetooth\/ibotafile"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"otherTarget"},{"kind":"text","text":"("},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtherTarget","preciseIdentifier":"s:12IOTBluetooth13IBOtherTargetC","text":"IBOtherTarget"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibparameter\/othertarget(_:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/otherTarget(_:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"设置目标设置"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"otherTarget"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBOtherTarget","preciseIdentifier":"s:12IOTBluetooth13IBOtherTargetC"},{"kind":"text","text":")"}],"title":"IBParameter.otherTarget(_:)","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth11IBParameterO11otherTargetyAcA07IBOtherD0CcACmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter":{"role":"symbol","title":"IBParameter","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBParameter"}],"abstract":[{"type":"text","text":"参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBParameter"}],"url":"\/documentation\/iotbluetooth\/ibparameter"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter/otherTarget(_:)":{"role":"symbol","title":"IBParameter.otherTarget(_:)","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"otherTarget"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBOtherTarget","preciseIdentifier":"s:12IOTBluetooth13IBOtherTargetC"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"设置目标设置"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/otherTarget(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibparameter\/othertarget(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBOtherTarget":{"role":"symbol","title":"IBOtherTarget","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBOtherTarget"}],"abstract":[{"type":"text","text":"其他目标设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBOtherTarget","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBOtherTarget"}],"url":"\/documentation\/iotbluetooth\/ibothertarget"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"screen"},{"kind":"text","text":"("},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScreenConfig","preciseIdentifier":"s:12IOTBluetooth14IBScreenConfigC","text":"IBScreenConfig"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibparameter\/screen(_:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/screen(_:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"设置屏幕"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"screen"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBScreenConfig","preciseIdentifier":"s:12IOTBluetooth14IBScreenConfigC"},{"kind":"text","text":")"}],"title":"IBParameter.screen(_:)","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth11IBParameterO6screenyAcA14IBScreenConfigCcACmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBScreenConfig":{"role":"symbol","title":"IBScreenConfig","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBScreenConfig"}],"abstract":[{"type":"text","text":"设置屏幕参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScreenConfig","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBScreenConfig"}],"url":"\/documentation\/iotbluetooth\/ibscreenconfig"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter":{"role":"symbol","title":"IBParameter","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBParameter"}],"abstract":[{"type":"text","text":"参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBParameter"}],"url":"\/documentation\/iotbluetooth\/ibparameter"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter/screen(_:)":{"role":"symbol","title":"IBParameter.screen(_:)","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"screen"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBScreenConfig","preciseIdentifier":"s:12IOTBluetooth14IBScreenConfigC"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"设置屏幕"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/screen(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibparameter\/screen(_:)"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"sendPhone"},{"kind":"text","text":"("},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneInfo","preciseIdentifier":"s:12IOTBluetooth11IBPhoneInfoC","text":"IBPhoneInfo"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibparameter\/sendphone(_:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/sendPhone(_:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"发送手机信息"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"sendPhone"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBPhoneInfo","preciseIdentifier":"s:12IOTBluetooth11IBPhoneInfoC"},{"kind":"text","text":")"}],"title":"IBParameter.sendPhone(_:)","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth11IBParameterO9sendPhoneyAcA11IBPhoneInfoCcACmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter/sendPhone(_:)":{"role":"symbol","title":"IBParameter.sendPhone(_:)","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"sendPhone"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBPhoneInfo","preciseIdentifier":"s:12IOTBluetooth11IBPhoneInfoC"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"发送手机信息"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/sendPhone(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibparameter\/sendphone(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPhoneInfo":{"role":"symbol","title":"IBPhoneInfo","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBPhoneInfo"}],"abstract":[{"type":"text","text":"手机信息模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneInfo","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBPhoneInfo"}],"url":"\/documentation\/iotbluetooth\/ibphoneinfo"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter":{"role":"symbol","title":"IBParameter","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBParameter"}],"abstract":[{"type":"text","text":"参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBParameter"}],"url":"\/documentation\/iotbluetooth\/ibparameter"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"sendTime"},{"kind":"text","text":"("},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime","preciseIdentifier":"s:12IOTBluetooth10IBSendTimeC","text":"IBSendTime"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibparameter\/sendtime(_:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/sendTime(_:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"发送当前时间"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"sendTime"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBSendTime","preciseIdentifier":"s:12IOTBluetooth10IBSendTimeC"},{"kind":"text","text":")"}],"title":"IBParameter.sendTime(_:)","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth11IBParameterO8sendTimeyAcA06IBSendD0CcACmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter":{"role":"symbol","title":"IBParameter","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBParameter"}],"abstract":[{"type":"text","text":"参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBParameter"}],"url":"\/documentation\/iotbluetooth\/ibparameter"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendTime":{"role":"symbol","title":"IBSendTime","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSendTime"}],"abstract":[{"type":"text","text":"发送时间模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBSendTime"}],"url":"\/documentation\/iotbluetooth\/ibsendtime"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter/sendTime(_:)":{"role":"symbol","title":"IBParameter.sendTime(_:)","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"sendTime"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBSendTime","preciseIdentifier":"s:12IOTBluetooth10IBSendTimeC"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"发送当前时间"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/sendTime(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibparameter\/sendtime(_:)"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"sleep"},{"kind":"text","text":"("},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleep","preciseIdentifier":"s:12IOTBluetooth7IBSleepC","text":"IBSleep"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibparameter\/sleep(_:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/sleep(_:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"睡眠"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"sleep"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBSleep","preciseIdentifier":"s:12IOTBluetooth7IBSleepC"},{"kind":"text","text":")"}],"title":"IBParameter.sleep(_:)","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth11IBParameterO5sleepyAcA7IBSleepCcACmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter":{"role":"symbol","title":"IBParameter","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBParameter"}],"abstract":[{"type":"text","text":"参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBParameter"}],"url":"\/documentation\/iotbluetooth\/ibparameter"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSleep":{"role":"symbol","title":"IBSleep","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSleep"}],"abstract":[{"type":"text","text":"睡眠设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleep","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBSleep"}],"url":"\/documentation\/iotbluetooth\/ibsleep"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter/sleep(_:)":{"role":"symbol","title":"IBParameter.sleep(_:)","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"sleep"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBSleep","preciseIdentifier":"s:12IOTBluetooth7IBSleepC"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"睡眠"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/sleep(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibparameter\/sleep(_:)"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"targetStep"},{"kind":"text","text":"("},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTargetStep","preciseIdentifier":"s:12IOTBluetooth12IBTargetStepC","text":"IBTargetStep"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibparameter\/targetstep(_:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/targetStep(_:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"训练目标"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"targetStep"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBTargetStep","preciseIdentifier":"s:12IOTBluetooth12IBTargetStepC"},{"kind":"text","text":")"}],"title":"IBParameter.targetStep(_:)","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth11IBParameterO10targetStepyAcA08IBTargetD0CcACmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter":{"role":"symbol","title":"IBParameter","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBParameter"}],"abstract":[{"type":"text","text":"参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBParameter"}],"url":"\/documentation\/iotbluetooth\/ibparameter"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter/targetStep(_:)":{"role":"symbol","title":"IBParameter.targetStep(_:)","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"targetStep"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBTargetStep","preciseIdentifier":"s:12IOTBluetooth12IBTargetStepC"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"训练目标"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/targetStep(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibparameter\/targetstep(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTargetStep":{"role":"symbol","title":"IBTargetStep","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTargetStep"}],"abstract":[{"type":"text","text":"目标步数模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTargetStep","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBTargetStep"}],"url":"\/documentation\/iotbluetooth\/ibtargetstep"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"trainTarget"},{"kind":"text","text":"("},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTarget","preciseIdentifier":"s:12IOTBluetooth13IBTrainTargetC","text":"IBTrainTarget"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibparameter\/traintarget(_:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/trainTarget(_:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"设置训练目标"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"trainTarget"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBTrainTarget","preciseIdentifier":"s:12IOTBluetooth13IBTrainTargetC"},{"kind":"text","text":")"}],"title":"IBParameter.trainTarget(_:)","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth11IBParameterO11trainTargetyAcA07IBTrainD0CcACmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter/trainTarget(_:)":{"role":"symbol","title":"IBParameter.trainTarget(_:)","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"trainTarget"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBTrainTarget","preciseIdentifier":"s:12IOTBluetooth13IBTrainTargetC"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"设置训练目标"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/trainTarget(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibparameter\/traintarget(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter":{"role":"symbol","title":"IBParameter","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBParameter"}],"abstract":[{"type":"text","text":"参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBParameter"}],"url":"\/documentation\/iotbluetooth\/ibparameter"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTarget":{"role":"symbol","title":"IBTrainTarget","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTrainTarget"}],"abstract":[{"type":"text","text":"训练目标设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTarget","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBTrainTarget"}],"url":"\/documentation\/iotbluetooth\/ibtraintarget"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"userInfo"},{"kind":"text","text":"("},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo","preciseIdentifier":"s:12IOTBluetooth10IBUserInfoC","text":"IBUserInfo"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibparameter\/userinfo(_:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/userInfo(_:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"设置用户数据"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"userInfo"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBUserInfo","preciseIdentifier":"s:12IOTBluetooth10IBUserInfoC"},{"kind":"text","text":")"}],"title":"IBParameter.userInfo(_:)","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth11IBParameterO8userInfoyAcA06IBUserD0CcACmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter":{"role":"symbol","title":"IBParameter","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBParameter"}],"abstract":[{"type":"text","text":"参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBParameter"}],"url":"\/documentation\/iotbluetooth\/ibparameter"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter/userInfo(_:)":{"role":"symbol","title":"IBParameter.userInfo(_:)","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"userInfo"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBUserInfo","preciseIdentifier":"s:12IOTBluetooth10IBUserInfoC"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"设置用户数据"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/userInfo(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibparameter\/userinfo(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBUserInfo":{"role":"symbol","title":"IBUserInfo","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBUserInfo"}],"abstract":[{"type":"text","text":"用户数据模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBUserInfo"}],"url":"\/documentation\/iotbluetooth\/ibuserinfo"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"value"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibparameter\/value(_:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/value(_:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"通用值设置"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"value"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}],"title":"IBParameter.value(_:)","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth11IBParameterO5valueyACSicACmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter/value(_:)":{"role":"symbol","title":"IBParameter.value(_:)","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"value"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"通用值设置"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/value(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibparameter\/value(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter":{"role":"symbol","title":"IBParameter","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBParameter"}],"abstract":[{"type":"text","text":"参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBParameter"}],"url":"\/documentation\/iotbluetooth\/ibparameter"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"vibrateSound"},{"kind":"text","text":"("},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateConfig","preciseIdentifier":"s:12IOTBluetooth15IBVibrateConfigC","text":"IBVibrateConfig"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibparameter\/vibratesound(_:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/vibrateSound(_:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"设置声音和震动"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"vibrateSound"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBVibrateConfig","preciseIdentifier":"s:12IOTBluetooth15IBVibrateConfigC"},{"kind":"text","text":")"}],"title":"IBParameter.vibrateSound(_:)","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth11IBParameterO12vibrateSoundyAcA15IBVibrateConfigCcACmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter/vibrateSound(_:)":{"role":"symbol","title":"IBParameter.vibrateSound(_:)","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"vibrateSound"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBVibrateConfig","preciseIdentifier":"s:12IOTBluetooth15IBVibrateConfigC"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"设置声音和震动"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/vibrateSound(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibparameter\/vibratesound(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter":{"role":"symbol","title":"IBParameter","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBParameter"}],"abstract":[{"type":"text","text":"参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBParameter"}],"url":"\/documentation\/iotbluetooth\/ibparameter"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBVibrateConfig":{"role":"symbol","title":"IBVibrateConfig","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBVibrateConfig"}],"abstract":[{"type":"text","text":"声音震动设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateConfig","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBVibrateConfig"}],"url":"\/documentation\/iotbluetooth\/ibvibrateconfig"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"water"},{"kind":"text","text":"("},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWater","preciseIdentifier":"s:12IOTBluetooth7IBWaterC","text":"IBWater"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibparameter\/water(_:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/water(_:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"喝水"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"water"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBWater","preciseIdentifier":"s:12IOTBluetooth7IBWaterC"},{"kind":"text","text":")"}],"title":"IBParameter.water(_:)","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth11IBParameterO5wateryAcA7IBWaterCcACmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWater":{"role":"symbol","title":"IBWater","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBWater"}],"abstract":[{"type":"text","text":"喝水提醒设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWater","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBWater"}],"url":"\/documentation\/iotbluetooth\/ibwater"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter":{"role":"symbol","title":"IBParameter","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBParameter"}],"abstract":[{"type":"text","text":"参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBParameter"}],"url":"\/documentation\/iotbluetooth\/ibparameter"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter/water(_:)":{"role":"symbol","title":"IBParameter.water(_:)","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"water"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBWater","preciseIdentifier":"s:12IOTBluetooth7IBWaterC"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"喝水"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/water(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibparameter\/water(_:)"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"weather"},{"kind":"text","text":"("},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeather","preciseIdentifier":"s:12IOTBluetooth9IBWeatherC","text":"IBWeather"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibparameter\/weather(_:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/weather(_:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"发送天气数据"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"weather"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBWeather","preciseIdentifier":"s:12IOTBluetooth9IBWeatherC"},{"kind":"text","text":")"}],"title":"IBParameter.weather(_:)","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth11IBParameterO7weatheryAcA9IBWeatherCcACmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeather":{"role":"symbol","title":"IBWeather","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBWeather"}],"abstract":[{"type":"text","text":"天气模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeather","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBWeather"}],"url":"\/documentation\/iotbluetooth\/ibweather"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter":{"role":"symbol","title":"IBParameter","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBParameter"}],"abstract":[{"type":"text","text":"参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBParameter"}],"url":"\/documentation\/iotbluetooth\/ibparameter"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter/weather(_:)":{"role":"symbol","title":"IBParameter.weather(_:)","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"weather"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBWeather","preciseIdentifier":"s:12IOTBluetooth9IBWeatherC"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"发送天气数据"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter\/weather(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibparameter\/weather(_:)"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBPeripheral"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibperipheral"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheral","interfaceLanguage":"swift"},"topicSections":[{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheral\/advertisementData","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheral\/battery","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheral\/macAddress","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheral\/name","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheral\/peripheral","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheral\/rssi","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheral\/softwareVersion","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheral\/uuid"]}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBPeripheral"}],"title":"IBPeripheral","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:12IOTBluetooth12IBPeripheralC","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBPeripheral"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPeripheral":{"role":"symbol","title":"IBPeripheral","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBPeripheral"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheral","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBPeripheral"}],"url":"\/documentation\/iotbluetooth\/ibperipheral"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPeripheral/advertisementData":{"role":"symbol","title":"advertisementData","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"advertisementData"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":" : "},{"kind":"keyword","text":"Any"},{"kind":"text","text":"]"}],"abstract":[{"type":"text","text":"广播数据"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheral\/advertisementData","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibperipheral\/advertisementdata"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPeripheral/macAddress":{"role":"symbol","title":"macAddress","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"macAddress"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"mac 地址"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheral\/macAddress","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibperipheral\/macaddress"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPeripheral/rssi":{"role":"symbol","title":"rssi","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"rssi"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"信号强度(分贝)"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheral\/rssi","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibperipheral\/rssi"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPeripheral/softwareVersion":{"role":"symbol","title":"softwareVersion","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"softwareVersion"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"软件版本"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheral\/softwareVersion","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibperipheral\/softwareversion"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPeripheral/name":{"role":"symbol","title":"name","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"name"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"名称"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheral\/name","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibperipheral\/name"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPeripheral/battery":{"role":"symbol","title":"battery","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"battery"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"电量,连接设备后可用,默认为 0"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheral\/battery","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibperipheral\/battery"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPeripheral/peripheral":{"role":"symbol","title":"peripheral","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"peripheral"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"CBPeripheral","preciseIdentifier":"c:objc(cs)CBPeripheral"},{"kind":"text","text":"!"}],"abstract":[{"type":"text","text":"外围设备实例"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheral\/peripheral","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibperipheral\/peripheral"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPeripheral/uuid":{"role":"symbol","title":"uuid","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"uuid"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"UUID","preciseIdentifier":"s:10Foundation4UUIDV"},{"kind":"text","text":"!"}],"abstract":[{"type":"text","text":"CBPeripheral.identifier"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheral\/uuid","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibperipheral\/uuid"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"advertisementData"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":" : "},{"kind":"keyword","text":"Any"},{"kind":"text","text":"] { get }"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibperipheral\/advertisementdata"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheral\/advertisementData","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"广播数据"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"advertisementData"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":" : "},{"kind":"keyword","text":"Any"},{"kind":"text","text":"]"}],"title":"advertisementData","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth12IBPeripheralC17advertisementDataSDySSypGvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheral"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPeripheral/advertisementData":{"role":"symbol","title":"advertisementData","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"advertisementData"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":" : "},{"kind":"keyword","text":"Any"},{"kind":"text","text":"]"}],"abstract":[{"type":"text","text":"广播数据"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheral\/advertisementData","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibperipheral\/advertisementdata"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPeripheral":{"role":"symbol","title":"IBPeripheral","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBPeripheral"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheral","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBPeripheral"}],"url":"\/documentation\/iotbluetooth\/ibperipheral"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"battery"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":" { get }"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibperipheral\/battery"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheral\/battery","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"电量,连接设备后可用,默认为 0"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"battery"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"battery","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth12IBPeripheralC7batterySivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheral"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPeripheral":{"role":"symbol","title":"IBPeripheral","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBPeripheral"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheral","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBPeripheral"}],"url":"\/documentation\/iotbluetooth\/ibperipheral"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPeripheral/battery":{"role":"symbol","title":"battery","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"battery"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"电量,连接设备后可用,默认为 0"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheral\/battery","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibperipheral\/battery"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"macAddress"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":" { get }"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibperipheral\/macaddress"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheral\/macAddress","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"mac 地址"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"macAddress"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"title":"macAddress","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth12IBPeripheralC10macAddressSSvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheral"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPeripheral/macAddress":{"role":"symbol","title":"macAddress","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"macAddress"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"mac 地址"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheral\/macAddress","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibperipheral\/macaddress"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPeripheral":{"role":"symbol","title":"IBPeripheral","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBPeripheral"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheral","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBPeripheral"}],"url":"\/documentation\/iotbluetooth\/ibperipheral"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"name"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":" { get }"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibperipheral\/name"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheral\/name","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"名称"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"name"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"title":"name","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth12IBPeripheralC4nameSSvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheral"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPeripheral":{"role":"symbol","title":"IBPeripheral","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBPeripheral"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheral","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBPeripheral"}],"url":"\/documentation\/iotbluetooth\/ibperipheral"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPeripheral/name":{"role":"symbol","title":"name","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"name"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"名称"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheral\/name","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibperipheral\/name"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"peripheral"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"CBPeripheral","preciseIdentifier":"c:objc(cs)CBPeripheral"},{"kind":"text","text":"! { "},{"kind":"keyword","text":"get"},{"kind":"text","text":" "},{"kind":"keyword","text":"set"},{"kind":"text","text":" }"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibperipheral\/peripheral"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheral\/peripheral","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"外围设备实例"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"peripheral"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"CBPeripheral","preciseIdentifier":"c:objc(cs)CBPeripheral"},{"kind":"text","text":"!"}],"title":"peripheral","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth12IBPeripheralC10peripheralSo12CBPeripheralCSgvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheral"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPeripheral/peripheral":{"role":"symbol","title":"peripheral","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"peripheral"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"CBPeripheral","preciseIdentifier":"c:objc(cs)CBPeripheral"},{"kind":"text","text":"!"}],"abstract":[{"type":"text","text":"外围设备实例"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheral\/peripheral","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibperipheral\/peripheral"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPeripheral":{"role":"symbol","title":"IBPeripheral","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBPeripheral"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheral","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBPeripheral"}],"url":"\/documentation\/iotbluetooth\/ibperipheral"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"rssi"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":" { get }"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibperipheral\/rssi"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheral\/rssi","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"信号强度(分贝)"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"rssi"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"rssi","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth12IBPeripheralC4rssiSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheral"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPeripheral":{"role":"symbol","title":"IBPeripheral","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBPeripheral"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheral","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBPeripheral"}],"url":"\/documentation\/iotbluetooth\/ibperipheral"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPeripheral/rssi":{"role":"symbol","title":"rssi","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"rssi"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"信号强度(分贝)"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheral\/rssi","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibperipheral\/rssi"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"softwareVersion"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":" { get }"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibperipheral\/softwareversion"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheral\/softwareVersion","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"软件版本"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"softwareVersion"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"title":"softwareVersion","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth12IBPeripheralC15softwareVersionSSvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheral"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPeripheral":{"role":"symbol","title":"IBPeripheral","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBPeripheral"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheral","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBPeripheral"}],"url":"\/documentation\/iotbluetooth\/ibperipheral"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPeripheral/softwareVersion":{"role":"symbol","title":"softwareVersion","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"softwareVersion"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"软件版本"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheral\/softwareVersion","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibperipheral\/softwareversion"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"uuid"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"UUID","preciseIdentifier":"s:10Foundation4UUIDV"},{"kind":"text","text":"! { get }"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibperipheral\/uuid"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheral\/uuid","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"CBPeripheral.identifier"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"uuid"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"UUID","preciseIdentifier":"s:10Foundation4UUIDV"},{"kind":"text","text":"!"}],"title":"uuid","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth12IBPeripheralC4uuid10Foundation4UUIDVSgvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheral"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPeripheral":{"role":"symbol","title":"IBPeripheral","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBPeripheral"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheral","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBPeripheral"}],"url":"\/documentation\/iotbluetooth\/ibperipheral"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPeripheral/uuid":{"role":"symbol","title":"uuid","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"uuid"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"UUID","preciseIdentifier":"s:10Foundation4UUIDV"},{"kind":"text","text":"!"}],"abstract":[{"type":"text","text":"CBPeripheral.identifier"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheral\/uuid","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibperipheral\/uuid"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"protocol"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBPeripheralUUID"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibperipheraluuid"],"traits":[{"interfaceLanguage":"swift"}]}],"relationshipsSections":[{"identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation\/UUID"],"kind":"relationships","title":"Conforming Types","type":"conformingTypes"}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheralUUID","interfaceLanguage":"swift"},"topicSections":[{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheralUUID\/uuid"]}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"protocol"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBPeripheralUUID"}],"title":"IBPeripheralUUID","roleHeading":"Protocol","role":"symbol","symbolKind":"protocol","externalID":"s:12IOTBluetooth16IBPeripheralUUIDP","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBPeripheralUUID"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPeripheralUUID/uuid":{"role":"symbol","title":"uuid","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"uuid"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"UUID","preciseIdentifier":"s:10Foundation4UUIDV"}],"abstract":[{"type":"text","text":"CBPeripheral.identifier"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheralUUID\/uuid","kind":"symbol","required":true,"type":"topic","url":"\/documentation\/iotbluetooth\/ibperipheraluuid\/uuid"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPeripheralUUID":{"role":"symbol","title":"IBPeripheralUUID","fragments":[{"kind":"keyword","text":"protocol"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBPeripheralUUID"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheralUUID","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBPeripheralUUID"}],"url":"\/documentation\/iotbluetooth\/ibperipheraluuid"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Foundation/UUID":{"role":"symbol","title":"UUID","fragments":[{"kind":"keyword","text":"extension"},{"kind":"text","text":" "},{"kind":"identifier","text":"UUID","preciseIdentifier":"s:10Foundation4UUIDV"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Foundation\/UUID","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"UUID"}],"url":"\/documentation\/iotbluetooth\/foundation\/uuid"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"uuid"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"UUID","preciseIdentifier":"s:10Foundation4UUIDV"},{"kind":"text","text":" { "},{"kind":"keyword","text":"get"},{"kind":"text","text":" }"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibperipheraluuid\/uuid"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheralUUID\/uuid","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"CBPeripheral.identifier"}],"kind":"symbol","metadata":{"role":"symbol","title":"uuid","roleHeading":"Instance Property","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"uuid"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"UUID","preciseIdentifier":"s:10Foundation4UUIDV"}],"symbolKind":"property","externalID":"s:12IOTBluetooth16IBPeripheralUUIDP4uuid10Foundation0C0Vvp","required":true,"modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheralUUID"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPeripheralUUID/uuid":{"role":"symbol","title":"uuid","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"uuid"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"UUID","preciseIdentifier":"s:10Foundation4UUIDV"}],"abstract":[{"type":"text","text":"CBPeripheral.identifier"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheralUUID\/uuid","kind":"symbol","required":true,"type":"topic","url":"\/documentation\/iotbluetooth\/ibperipheraluuid\/uuid"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPeripheralUUID":{"role":"symbol","title":"IBPeripheralUUID","fragments":[{"kind":"keyword","text":"protocol"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBPeripheralUUID"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPeripheralUUID","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBPeripheralUUID"}],"url":"\/documentation\/iotbluetooth\/ibperipheraluuid"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBPhoneInfo"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibphoneinfo"],"traits":[{"interfaceLanguage":"swift"}]}],"relationshipsSections":[{"identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/Se","doc:\/\/com.thisiot.IOTBluetooth\/SE"],"kind":"relationships","title":"Conforms To","type":"conformsTo"}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneInfo","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"手机信息模型"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBPhoneInfo"}],"title":"IBPhoneInfo","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:12IOTBluetooth11IBPhoneInfoC","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBPhoneInfo"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"topicSections":[{"title":"Initializers","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneInfo\/init()","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneInfo\/init(from:)"]},{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneInfo\/mac","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneInfo\/name","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneInfo\/type"]}],"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPhoneInfo/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneInfo\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibphoneinfo\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPhoneInfo/init(from:)":{"role":"symbol","title":"init(from:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneInfo\/init(from:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibphoneinfo\/init(from:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPhoneInfo/type":{"role":"symbol","title":"type","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"type"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"手机类型 0:安卓 1:苹果"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneInfo\/type","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibphoneinfo\/type"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPhoneInfo/name":{"role":"symbol","title":"name","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"name"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"手机名称"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneInfo\/name","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibphoneinfo\/name"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPhoneInfo/mac":{"role":"symbol","title":"mac","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"mac"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"]?"}],"abstract":[{"type":"text","text":"手机MAC地址数组(仅IOS,配对成功从手表获取,未获取时为空)"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneInfo\/mac","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibphoneinfo\/mac"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/SE":{"type":"unresolvable","title":"Swift.Encodable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/SE"},"doc://com.thisiot.IOTBluetooth/Se":{"type":"unresolvable","title":"Swift.Decodable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/Se"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPhoneInfo":{"role":"symbol","title":"IBPhoneInfo","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBPhoneInfo"}],"abstract":[{"type":"text","text":"手机信息模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneInfo","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBPhoneInfo"}],"url":"\/documentation\/iotbluetooth\/ibphoneinfo"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"()"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibphoneinfo\/init()"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneInfo\/init()","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"title":"init()","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth11IBPhoneInfoCACycfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneInfo"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPhoneInfo/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneInfo\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibphoneinfo\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPhoneInfo":{"role":"symbol","title":"IBPhoneInfo","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBPhoneInfo"}],"abstract":[{"type":"text","text":"手机信息模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneInfo","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBPhoneInfo"}],"url":"\/documentation\/iotbluetooth\/ibphoneinfo"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":" "},{"kind":"internalParam","text":"decoder"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibphoneinfo\/init(from:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneInfo\/init(from:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"Decodable.init(from:)"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"title":"init(from:)","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth11IBPhoneInfoC4fromACs7Decoder_p_tKcfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneInfo"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPhoneInfo/init(from:)":{"role":"symbol","title":"init(from:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneInfo\/init(from:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibphoneinfo\/init(from:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPhoneInfo":{"role":"symbol","title":"IBPhoneInfo","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBPhoneInfo"}],"abstract":[{"type":"text","text":"手机信息模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneInfo","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBPhoneInfo"}],"url":"\/documentation\/iotbluetooth\/ibphoneinfo"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"mac"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"]?"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibphoneinfo\/mac"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneInfo\/mac","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"手机MAC地址数组(仅IOS,配对成功从手表获取,未获取时为空)"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"mac"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"]?"}],"title":"mac","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth11IBPhoneInfoC3macSaySiGSgvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneInfo"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPhoneInfo":{"role":"symbol","title":"IBPhoneInfo","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBPhoneInfo"}],"abstract":[{"type":"text","text":"手机信息模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneInfo","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBPhoneInfo"}],"url":"\/documentation\/iotbluetooth\/ibphoneinfo"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPhoneInfo/mac":{"role":"symbol","title":"mac","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"mac"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"]?"}],"abstract":[{"type":"text","text":"手机MAC地址数组(仅IOS,配对成功从手表获取,未获取时为空)"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneInfo\/mac","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibphoneinfo\/mac"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"name"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibphoneinfo\/name"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneInfo\/name","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"手机名称"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"name"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"title":"name","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth11IBPhoneInfoC4nameSSvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneInfo"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPhoneInfo/name":{"role":"symbol","title":"name","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"name"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"手机名称"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneInfo\/name","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibphoneinfo\/name"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPhoneInfo":{"role":"symbol","title":"IBPhoneInfo","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBPhoneInfo"}],"abstract":[{"type":"text","text":"手机信息模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneInfo","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBPhoneInfo"}],"url":"\/documentation\/iotbluetooth\/ibphoneinfo"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"type"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibphoneinfo\/type"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneInfo\/type","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"手机类型 0:安卓 1:苹果"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"type"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"type","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth11IBPhoneInfoC4typeSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneInfo"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPhoneInfo":{"role":"symbol","title":"IBPhoneInfo","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBPhoneInfo"}],"abstract":[{"type":"text","text":"手机信息模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneInfo","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBPhoneInfo"}],"url":"\/documentation\/iotbluetooth\/ibphoneinfo"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPhoneInfo/type":{"role":"symbol","title":"type","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"type"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"手机类型 0:安卓 1:苹果"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneInfo\/type","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibphoneinfo\/type"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBPhoneNumber"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibphonenumber"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneNumber","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"电话号码模型"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBPhoneNumber"}],"title":"IBPhoneNumber","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:12IOTBluetooth13IBPhoneNumberC","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBPhoneNumber"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"topicSections":[{"title":"Initializers","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneNumber\/init()"]},{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneNumber\/description","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneNumber\/location","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneNumber\/number","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneNumber\/operator"]}],"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPhoneNumber":{"role":"symbol","title":"IBPhoneNumber","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBPhoneNumber"}],"abstract":[{"type":"text","text":"电话号码模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneNumber","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBPhoneNumber"}],"url":"\/documentation\/iotbluetooth\/ibphonenumber"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPhoneNumber/location":{"role":"symbol","title":"location","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"location"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"归属地,长度0~255,不传手表上显示归属地为“未知"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneNumber\/location","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibphonenumber\/location"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPhoneNumber/description":{"role":"symbol","title":"description","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"description"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneNumber\/description","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibphonenumber\/description"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPhoneNumber/operator":{"role":"symbol","title":"operator","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"`operator`"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"运营商,长度0~255,不传手表上显示运营商为“未知"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneNumber\/operator","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibphonenumber\/operator"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPhoneNumber/number":{"role":"symbol","title":"number","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"number"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"电话号码,长度1~255"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneNumber\/number","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibphonenumber\/number"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPhoneNumber/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneNumber\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibphonenumber\/init()"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"description"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":" { "},{"kind":"keyword","text":"get"},{"kind":"text","text":" }"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibphonenumber\/description"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneNumber\/description","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"description"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"title":"description","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth13IBPhoneNumberC11descriptionSSvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneNumber"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPhoneNumber":{"role":"symbol","title":"IBPhoneNumber","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBPhoneNumber"}],"abstract":[{"type":"text","text":"电话号码模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneNumber","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBPhoneNumber"}],"url":"\/documentation\/iotbluetooth\/ibphonenumber"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPhoneNumber/description":{"role":"symbol","title":"description","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"description"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneNumber\/description","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibphonenumber\/description"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"()"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibphonenumber\/init()"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneNumber\/init()","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"title":"init()","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth13IBPhoneNumberCACycfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneNumber"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPhoneNumber/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneNumber\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibphonenumber\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPhoneNumber":{"role":"symbol","title":"IBPhoneNumber","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBPhoneNumber"}],"abstract":[{"type":"text","text":"电话号码模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneNumber","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBPhoneNumber"}],"url":"\/documentation\/iotbluetooth\/ibphonenumber"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"location"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":"?"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibphonenumber\/location"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneNumber\/location","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"归属地,长度0~255,不传手表上显示归属地为“未知"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"location"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":"?"}],"title":"location","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth13IBPhoneNumberC8locationSSSgvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneNumber"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPhoneNumber/location":{"role":"symbol","title":"location","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"location"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"归属地,长度0~255,不传手表上显示归属地为“未知"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneNumber\/location","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibphonenumber\/location"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPhoneNumber":{"role":"symbol","title":"IBPhoneNumber","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBPhoneNumber"}],"abstract":[{"type":"text","text":"电话号码模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneNumber","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBPhoneNumber"}],"url":"\/documentation\/iotbluetooth\/ibphonenumber"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"number"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibphonenumber\/number"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneNumber\/number","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"电话号码,长度1~255"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"number"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"title":"number","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth13IBPhoneNumberC6numberSSvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneNumber"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPhoneNumber/number":{"role":"symbol","title":"number","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"number"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"电话号码,长度1~255"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneNumber\/number","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibphonenumber\/number"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPhoneNumber":{"role":"symbol","title":"IBPhoneNumber","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBPhoneNumber"}],"abstract":[{"type":"text","text":"电话号码模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneNumber","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBPhoneNumber"}],"url":"\/documentation\/iotbluetooth\/ibphonenumber"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"`operator`"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":"?"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibphonenumber\/operator"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneNumber\/operator","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"运营商,长度0~255,不传手表上显示运营商为“未知"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"`operator`"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":"?"}],"title":"operator","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth13IBPhoneNumberC8operatorSSSgvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneNumber"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPhoneNumber":{"role":"symbol","title":"IBPhoneNumber","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBPhoneNumber"}],"abstract":[{"type":"text","text":"电话号码模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneNumber","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBPhoneNumber"}],"url":"\/documentation\/iotbluetooth\/ibphonenumber"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBPhoneNumber/operator":{"role":"symbol","title":"operator","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"`operator`"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"运营商,长度0~255,不传手表上显示运营商为“未知"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBPhoneNumber\/operator","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibphonenumber\/operator"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBProgressHandler"},{"kind":"text","text":" = ("},{"kind":"externalParam","text":"_"},{"kind":"text","text":" "},{"kind":"internalParam","text":"total"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":", "},{"kind":"externalParam","text":"_"},{"kind":"text","text":" "},{"kind":"internalParam","text":"current"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Void","preciseIdentifier":"s:s4Voida"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibprogresshandler"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBProgressHandler","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBProgressHandler"}],"title":"IBProgressHandler","roleHeading":"Type Alias","role":"symbol","symbolKind":"typealias","externalID":"s:12IOTBluetooth17IBProgressHandlera","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBProgressHandler"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBProgressHandler":{"role":"symbol","title":"IBProgressHandler","fragments":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBProgressHandler"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBProgressHandler","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBProgressHandler"}],"url":"\/documentation\/iotbluetooth\/ibprogresshandler"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBResponse"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibresponse"],"traits":[{"interfaceLanguage":"swift"}]}],"relationshipsSections":[{"identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/s23CustomStringConvertibleP"],"kind":"relationships","title":"Conforms To","type":"conformsTo"}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse","interfaceLanguage":"swift"},"topicSections":[{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse\/code","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse\/description","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse\/isSuccess","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse\/items","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse\/message","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse\/value"]}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBResponse"}],"title":"IBResponse","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:12IOTBluetooth10IBResponseC","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBResponse"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBResponse/code":{"role":"symbol","title":"code","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"code"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBCode","preciseIdentifier":"s:12IOTBluetooth6IBCodeO"}],"abstract":[{"type":"text","text":"状态码"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse\/code","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibresponse\/code"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBResponse/description":{"role":"symbol","title":"description","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"description"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse\/description","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibresponse\/description"},"doc://com.thisiot.IOTBluetooth/s23CustomStringConvertibleP":{"type":"unresolvable","title":"Swift.CustomStringConvertible","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/s23CustomStringConvertibleP"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBResponse":{"role":"symbol","title":"IBResponse","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBResponse"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBResponse"}],"url":"\/documentation\/iotbluetooth\/ibresponse"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBResponse/isSuccess":{"role":"symbol","title":"isSuccess","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"isSuccess"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"abstract":[{"type":"text","text":"当成功时为 true"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse\/isSuccess","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibresponse\/issuccess"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBResponse/items":{"role":"symbol","title":"items","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"items"},{"kind":"text","text":": ["},{"kind":"keyword","text":"Any"},{"kind":"text","text":"]"}],"abstract":[{"type":"text","text":"当结果为集合时,应该从此字段读取"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse\/items","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibresponse\/items"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBResponse/message":{"role":"symbol","title":"message","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"message"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"反馈信息"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse\/message","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibresponse\/message"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBResponse/value":{"role":"symbol","title":"value","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"value"},{"kind":"text","text":": "},{"kind":"keyword","text":"Any"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"当结果为非集合,应该从此字段读取"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse\/value","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibresponse\/value"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"code"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode","preciseIdentifier":"s:12IOTBluetooth6IBCodeO","text":"IBCode"},{"kind":"text","text":" { get }"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibresponse\/code"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse\/code","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"状态码"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"code"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBCode","preciseIdentifier":"s:12IOTBluetooth6IBCodeO"}],"title":"code","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth10IBResponseC4codeAA6IBCodeOvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBResponse":{"role":"symbol","title":"IBResponse","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBResponse"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBResponse"}],"url":"\/documentation\/iotbluetooth\/ibresponse"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBCode":{"role":"symbol","title":"IBCode","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBCode"}],"abstract":[{"type":"text","text":"状态码"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCode","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBCode"}],"url":"\/documentation\/iotbluetooth\/ibcode"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBResponse/code":{"role":"symbol","title":"code","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"code"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBCode","preciseIdentifier":"s:12IOTBluetooth6IBCodeO"}],"abstract":[{"type":"text","text":"状态码"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse\/code","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibresponse\/code"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"description"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":" { "},{"kind":"keyword","text":"get"},{"kind":"text","text":" }"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibresponse\/description"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse\/description","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"CustomStringConvertible.description"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"description"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"title":"description","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth10IBResponseC11descriptionSSvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBResponse/description":{"role":"symbol","title":"description","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"description"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse\/description","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibresponse\/description"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBResponse":{"role":"symbol","title":"IBResponse","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBResponse"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBResponse"}],"url":"\/documentation\/iotbluetooth\/ibresponse"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"isSuccess"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"},{"kind":"text","text":" { get }"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibresponse\/issuccess"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse\/isSuccess","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"当成功时为 true"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"isSuccess"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"title":"isSuccess","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth10IBResponseC9isSuccessSbvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBResponse/isSuccess":{"role":"symbol","title":"isSuccess","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"isSuccess"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"abstract":[{"type":"text","text":"当成功时为 true"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse\/isSuccess","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibresponse\/issuccess"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBResponse":{"role":"symbol","title":"IBResponse","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBResponse"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBResponse"}],"url":"\/documentation\/iotbluetooth\/ibresponse"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"items"},{"kind":"text","text":": ["},{"kind":"keyword","text":"Any"},{"kind":"text","text":"] { get }"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibresponse\/items"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse\/items","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"当结果为集合时,应该从此字段读取"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"items"},{"kind":"text","text":": ["},{"kind":"keyword","text":"Any"},{"kind":"text","text":"]"}],"title":"items","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth10IBResponseC5itemsSayypGvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBResponse":{"role":"symbol","title":"IBResponse","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBResponse"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBResponse"}],"url":"\/documentation\/iotbluetooth\/ibresponse"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBResponse/items":{"role":"symbol","title":"items","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"items"},{"kind":"text","text":": ["},{"kind":"keyword","text":"Any"},{"kind":"text","text":"]"}],"abstract":[{"type":"text","text":"当结果为集合时,应该从此字段读取"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse\/items","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibresponse\/items"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"message"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":" { get }"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibresponse\/message"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse\/message","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"反馈信息"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"message"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"title":"message","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth10IBResponseC7messageSSvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBResponse/message":{"role":"symbol","title":"message","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"message"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"反馈信息"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse\/message","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibresponse\/message"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBResponse":{"role":"symbol","title":"IBResponse","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBResponse"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBResponse"}],"url":"\/documentation\/iotbluetooth\/ibresponse"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"value"},{"kind":"text","text":": "},{"kind":"keyword","text":"Any"},{"kind":"text","text":"? { get }"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibresponse\/value"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse\/value","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"当结果为非集合,应该从此字段读取"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"value"},{"kind":"text","text":": "},{"kind":"keyword","text":"Any"},{"kind":"text","text":"?"}],"title":"value","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth10IBResponseC5valueypSgvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBResponse":{"role":"symbol","title":"IBResponse","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBResponse"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBResponse"}],"url":"\/documentation\/iotbluetooth\/ibresponse"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBResponse/value":{"role":"symbol","title":"value","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"value"},{"kind":"text","text":": "},{"kind":"keyword","text":"Any"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"当结果为非集合,应该从此字段读取"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponse\/value","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibresponse\/value"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBResponseModel"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibresponsemodel"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponseModel","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBResponseModel"}],"title":"IBResponseModel","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:12IOTBluetooth15IBResponseModelC","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBResponseModel"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBResponseModel":{"role":"symbol","title":"IBResponseModel","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBResponseModel"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBResponseModel","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBResponseModel"}],"url":"\/documentation\/iotbluetooth\/ibresponsemodel"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBScanOption"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibscanoption"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScanOption","interfaceLanguage":"swift"},"topicSections":[{"title":"Instance Methods","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScanOption\/allowDuplicates(_:)","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScanOption\/solicited(_:)"]},{"title":"Type Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScanOption\/custom","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScanOption\/default"]}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBScanOption"}],"title":"IBScanOption","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:12IOTBluetooth12IBScanOptionC","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBScanOption"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBScanOption/solicited(_:)":{"role":"symbol","title":"solicited(_:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"solicited"},{"kind":"text","text":"(["},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":"]) -> "},{"kind":"typeIdentifier","text":"Self"}],"abstract":[{"type":"text","text":"扫描指定服务"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScanOption\/solicited(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibscanoption\/solicited(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBScanOption":{"role":"symbol","title":"IBScanOption","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBScanOption"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScanOption","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBScanOption"}],"url":"\/documentation\/iotbluetooth\/ibscanoption"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBScanOption/custom":{"role":"symbol","title":"custom","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"custom"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBScanOption","preciseIdentifier":"s:12IOTBluetooth12IBScanOptionC"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScanOption\/custom","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibscanoption\/custom"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBScanOption/allowDuplicates(_:)":{"role":"symbol","title":"allowDuplicates(_:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"allowDuplicates"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Self"}],"abstract":[{"type":"text","text":"允许重复扫描"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScanOption\/allowDuplicates(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibscanoption\/allowduplicates(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBScanOption/default":{"role":"symbol","title":"default","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"`default`"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBScanOption","preciseIdentifier":"s:12IOTBluetooth12IBScanOptionC"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScanOption\/default","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibscanoption\/default"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"attribute","text":"@discardableResult"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"allowDuplicates"},{"kind":"text","text":"("},{"kind":"externalParam","text":"_"},{"kind":"text","text":" "},{"kind":"internalParam","text":"value"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Self"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibscanoption\/allowduplicates(_:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScanOption\/allowDuplicates(_:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"允许重复扫描"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"allowDuplicates"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Self"}],"title":"allowDuplicates(_:)","roleHeading":"Instance Method","role":"symbol","symbolKind":"method","externalID":"s:12IOTBluetooth12IBScanOptionC15allowDuplicatesyACXDSbF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScanOption"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBScanOption/allowDuplicates(_:)":{"role":"symbol","title":"allowDuplicates(_:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"allowDuplicates"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Self"}],"abstract":[{"type":"text","text":"允许重复扫描"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScanOption\/allowDuplicates(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibscanoption\/allowduplicates(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBScanOption":{"role":"symbol","title":"IBScanOption","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBScanOption"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScanOption","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBScanOption"}],"url":"\/documentation\/iotbluetooth\/ibscanoption"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"custom"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScanOption","preciseIdentifier":"s:12IOTBluetooth12IBScanOptionC","text":"IBScanOption"},{"kind":"text","text":" { "},{"kind":"keyword","text":"get"},{"kind":"text","text":" }"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibscanoption\/custom"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScanOption\/custom","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"custom"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBScanOption","preciseIdentifier":"s:12IOTBluetooth12IBScanOptionC"}],"title":"custom","roleHeading":"Type Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth12IBScanOptionC6customACvpZ","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScanOption"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBScanOption/custom":{"role":"symbol","title":"custom","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"custom"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBScanOption","preciseIdentifier":"s:12IOTBluetooth12IBScanOptionC"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScanOption\/custom","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibscanoption\/custom"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBScanOption":{"role":"symbol","title":"IBScanOption","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBScanOption"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScanOption","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBScanOption"}],"url":"\/documentation\/iotbluetooth\/ibscanoption"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"`default`"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScanOption","preciseIdentifier":"s:12IOTBluetooth12IBScanOptionC","text":"IBScanOption"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibscanoption\/default"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScanOption\/default","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"`default`"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBScanOption","preciseIdentifier":"s:12IOTBluetooth12IBScanOptionC"}],"title":"default","roleHeading":"Type Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth12IBScanOptionC7defaultACvpZ","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScanOption"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBScanOption/default":{"role":"symbol","title":"default","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"`default`"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBScanOption","preciseIdentifier":"s:12IOTBluetooth12IBScanOptionC"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScanOption\/default","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibscanoption\/default"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBScanOption":{"role":"symbol","title":"IBScanOption","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBScanOption"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScanOption","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBScanOption"}],"url":"\/documentation\/iotbluetooth\/ibscanoption"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"attribute","text":"@discardableResult"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"solicited"},{"kind":"text","text":"("},{"kind":"externalParam","text":"_"},{"kind":"text","text":" "},{"kind":"internalParam","text":"serviceUUIDs"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":"]) -> "},{"kind":"typeIdentifier","text":"Self"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibscanoption\/solicited(_:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScanOption\/solicited(_:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"扫描指定服务"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"solicited"},{"kind":"text","text":"(["},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":"]) -> "},{"kind":"typeIdentifier","text":"Self"}],"title":"solicited(_:)","roleHeading":"Instance Method","role":"symbol","symbolKind":"method","externalID":"s:12IOTBluetooth12IBScanOptionC9solicitedyACXDSaySSGF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScanOption"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBScanOption/solicited(_:)":{"role":"symbol","title":"solicited(_:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"solicited"},{"kind":"text","text":"(["},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":"]) -> "},{"kind":"typeIdentifier","text":"Self"}],"abstract":[{"type":"text","text":"扫描指定服务"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScanOption\/solicited(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibscanoption\/solicited(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBScanOption":{"role":"symbol","title":"IBScanOption","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBScanOption"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScanOption","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBScanOption"}],"url":"\/documentation\/iotbluetooth\/ibscanoption"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBScreen"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibscreen"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScreen","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"屏幕参数"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBScreen"}],"title":"IBScreen","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:12IOTBluetooth8IBScreenC","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBScreen"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"topicSections":[{"title":"Initializers","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScreen\/init()"]},{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScreen\/brightness","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScreen\/duration","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScreen\/wrist"]}],"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBScreen/brightness":{"role":"symbol","title":"brightness","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"brightness"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"亮度 [0, 255]"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScreen\/brightness","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibscreen\/brightness"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBScreen/duration":{"role":"symbol","title":"duration","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"duration"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBDuration","preciseIdentifier":"s:12IOTBluetooth10IBDurationO"}],"abstract":[{"type":"text","text":"亮屏时长"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScreen\/duration","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibscreen\/duration"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBScreen/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScreen\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibscreen\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBScreen":{"role":"symbol","title":"IBScreen","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBScreen"}],"abstract":[{"type":"text","text":"屏幕参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScreen","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBScreen"}],"url":"\/documentation\/iotbluetooth\/ibscreen"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBScreen/wrist":{"role":"symbol","title":"wrist","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"wrist"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"抬腕亮屏(0=关闭, 1=开启)"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScreen\/wrist","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibscreen\/wrist"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"brightness"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibscreen\/brightness"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScreen\/brightness","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"亮度 [0, 255]"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"brightness"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"brightness","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth8IBScreenC10brightnessSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScreen"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBScreen":{"role":"symbol","title":"IBScreen","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBScreen"}],"abstract":[{"type":"text","text":"屏幕参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScreen","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBScreen"}],"url":"\/documentation\/iotbluetooth\/ibscreen"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBScreen/brightness":{"role":"symbol","title":"brightness","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"brightness"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"亮度 [0, 255]"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScreen\/brightness","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibscreen\/brightness"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"duration"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration","preciseIdentifier":"s:12IOTBluetooth10IBDurationO","text":"IBDuration"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibscreen\/duration"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScreen\/duration","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"亮屏时长"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"duration"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBDuration","preciseIdentifier":"s:12IOTBluetooth10IBDurationO"}],"title":"duration","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth8IBScreenC8durationAA10IBDurationOvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScreen"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBScreen/duration":{"role":"symbol","title":"duration","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"duration"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBDuration","preciseIdentifier":"s:12IOTBluetooth10IBDurationO"}],"abstract":[{"type":"text","text":"亮屏时长"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScreen\/duration","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibscreen\/duration"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBScreen":{"role":"symbol","title":"IBScreen","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBScreen"}],"abstract":[{"type":"text","text":"屏幕参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScreen","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBScreen"}],"url":"\/documentation\/iotbluetooth\/ibscreen"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDuration":{"role":"symbol","title":"IBDuration","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBDuration"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBDuration"}],"url":"\/documentation\/iotbluetooth\/ibduration"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"()"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibscreen\/init()"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScreen\/init()","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"title":"init()","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth8IBScreenCACycfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScreen"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBScreen":{"role":"symbol","title":"IBScreen","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBScreen"}],"abstract":[{"type":"text","text":"屏幕参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScreen","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBScreen"}],"url":"\/documentation\/iotbluetooth\/ibscreen"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBScreen/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScreen\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibscreen\/init()"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"wrist"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibscreen\/wrist"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScreen\/wrist","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"抬腕亮屏(0=关闭, 1=开启)"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"wrist"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"wrist","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth8IBScreenC5wristSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScreen"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBScreen":{"role":"symbol","title":"IBScreen","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBScreen"}],"abstract":[{"type":"text","text":"屏幕参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScreen","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBScreen"}],"url":"\/documentation\/iotbluetooth\/ibscreen"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBScreen/wrist":{"role":"symbol","title":"wrist","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"wrist"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"抬腕亮屏(0=关闭, 1=开启)"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScreen\/wrist","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibscreen\/wrist"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBScreenConfig"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibscreenconfig"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScreenConfig","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"设置屏幕参数"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBScreenConfig"}],"title":"IBScreenConfig","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:12IOTBluetooth14IBScreenConfigC","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBScreenConfig"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"topicSections":[{"title":"Initializers","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScreenConfig\/init()"]},{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScreenConfig\/brightness","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScreenConfig\/duration","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScreenConfig\/type","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScreenConfig\/wrist"]}],"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBScreenConfig/type":{"role":"symbol","title":"type","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"type"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"类型 0,亮度调节; 1,亮屏时长,抬腕亮屏"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScreenConfig\/type","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibscreenconfig\/type"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBScreenConfig/wrist":{"role":"symbol","title":"wrist","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"wrist"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"抬腕亮屏(0=关闭, 1=开启), type为1必须设置"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScreenConfig\/wrist","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibscreenconfig\/wrist"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBScreenConfig/brightness":{"role":"symbol","title":"brightness","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"brightness"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"亮度 [51, 255], type为0必须设置"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScreenConfig\/brightness","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibscreenconfig\/brightness"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBScreenConfig":{"role":"symbol","title":"IBScreenConfig","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBScreenConfig"}],"abstract":[{"type":"text","text":"设置屏幕参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScreenConfig","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBScreenConfig"}],"url":"\/documentation\/iotbluetooth\/ibscreenconfig"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBScreenConfig/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScreenConfig\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibscreenconfig\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBScreenConfig/duration":{"role":"symbol","title":"duration","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"duration"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBDuration","preciseIdentifier":"s:12IOTBluetooth10IBDurationO"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"亮屏时长, type为1必须设置"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScreenConfig\/duration","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibscreenconfig\/duration"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"brightness"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibscreenconfig\/brightness"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScreenConfig\/brightness","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"亮度 [51, 255], type为0必须设置"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"brightness"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"title":"brightness","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth14IBScreenConfigC10brightnessSiSgvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScreenConfig"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBScreenConfig":{"role":"symbol","title":"IBScreenConfig","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBScreenConfig"}],"abstract":[{"type":"text","text":"设置屏幕参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScreenConfig","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBScreenConfig"}],"url":"\/documentation\/iotbluetooth\/ibscreenconfig"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBScreenConfig/brightness":{"role":"symbol","title":"brightness","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"brightness"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"亮度 [51, 255], type为0必须设置"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScreenConfig\/brightness","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibscreenconfig\/brightness"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"duration"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration","preciseIdentifier":"s:12IOTBluetooth10IBDurationO","text":"IBDuration"},{"kind":"text","text":"?"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibscreenconfig\/duration"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScreenConfig\/duration","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"亮屏时长, type为1必须设置"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"duration"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBDuration","preciseIdentifier":"s:12IOTBluetooth10IBDurationO"},{"kind":"text","text":"?"}],"title":"duration","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth14IBScreenConfigC8durationAA10IBDurationOSgvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScreenConfig"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBScreenConfig/duration":{"role":"symbol","title":"duration","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"duration"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBDuration","preciseIdentifier":"s:12IOTBluetooth10IBDurationO"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"亮屏时长, type为1必须设置"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScreenConfig\/duration","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibscreenconfig\/duration"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBDuration":{"role":"symbol","title":"IBDuration","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBDuration"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBDuration","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBDuration"}],"url":"\/documentation\/iotbluetooth\/ibduration"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBScreenConfig":{"role":"symbol","title":"IBScreenConfig","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBScreenConfig"}],"abstract":[{"type":"text","text":"设置屏幕参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScreenConfig","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBScreenConfig"}],"url":"\/documentation\/iotbluetooth\/ibscreenconfig"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"()"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibscreenconfig\/init()"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScreenConfig\/init()","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"title":"init()","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth14IBScreenConfigCACycfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScreenConfig"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBScreenConfig/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScreenConfig\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibscreenconfig\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBScreenConfig":{"role":"symbol","title":"IBScreenConfig","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBScreenConfig"}],"abstract":[{"type":"text","text":"设置屏幕参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScreenConfig","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBScreenConfig"}],"url":"\/documentation\/iotbluetooth\/ibscreenconfig"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"type"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibscreenconfig\/type"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScreenConfig\/type","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"类型 0,亮度调节; 1,亮屏时长,抬腕亮屏"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"type"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"type","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth14IBScreenConfigC4typeSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScreenConfig"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBScreenConfig/type":{"role":"symbol","title":"type","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"type"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"类型 0,亮度调节; 1,亮屏时长,抬腕亮屏"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScreenConfig\/type","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibscreenconfig\/type"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBScreenConfig":{"role":"symbol","title":"IBScreenConfig","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBScreenConfig"}],"abstract":[{"type":"text","text":"设置屏幕参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScreenConfig","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBScreenConfig"}],"url":"\/documentation\/iotbluetooth\/ibscreenconfig"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"wrist"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibscreenconfig\/wrist"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScreenConfig\/wrist","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"抬腕亮屏(0=关闭, 1=开启), type为1必须设置"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"wrist"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"title":"wrist","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth14IBScreenConfigC5wristSiSgvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScreenConfig"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBScreenConfig/wrist":{"role":"symbol","title":"wrist","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"wrist"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"抬腕亮屏(0=关闭, 1=开启), type为1必须设置"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScreenConfig\/wrist","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibscreenconfig\/wrist"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBScreenConfig":{"role":"symbol","title":"IBScreenConfig","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBScreenConfig"}],"abstract":[{"type":"text","text":"设置屏幕参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBScreenConfig","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBScreenConfig"}],"url":"\/documentation\/iotbluetooth\/ibscreenconfig"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSender"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibsender"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSender","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"蓝牙消息发送类"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSender"}],"title":"IBSender","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:12IOTBluetooth8IBSenderC","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBSender"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"topicSections":[{"title":"Initializers","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSender\/init()"]},{"title":"Instance Methods","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSender\/ability(_:)","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSender\/parameters(_:)","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSender\/response(_:)"]}],"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSender/response(_:)":{"role":"symbol","title":"response(_:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"response"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBCompletionHandler","preciseIdentifier":"s:12IOTBluetooth19IBCompletionHandlera"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Self"}],"abstract":[{"type":"text","text":"执行与响应处理"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSender\/response(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsender\/response(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSender/parameters(_:)":{"role":"symbol","title":"parameters(_:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"parameters"},{"kind":"text","text":"(["},{"kind":"typeIdentifier","text":"IBParameter","preciseIdentifier":"s:12IOTBluetooth11IBParameterO"},{"kind":"text","text":"]) -> "},{"kind":"typeIdentifier","text":"Self"}],"abstract":[{"type":"text","text":"参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSender\/parameters(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsender\/parameters(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSender/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSender\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsender\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSender":{"role":"symbol","title":"IBSender","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSender"}],"abstract":[{"type":"text","text":"蓝牙消息发送类"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSender","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBSender"}],"url":"\/documentation\/iotbluetooth\/ibsender"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSender/ability(_:)":{"role":"symbol","title":"ability(_:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"ability"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Self"}],"abstract":[{"type":"text","text":"功能接口"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSender\/ability(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsender\/ability(_:)"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"attribute","text":"@discardableResult"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"ability"},{"kind":"text","text":"("},{"kind":"externalParam","text":"_"},{"kind":"text","text":" "},{"kind":"internalParam","text":"value"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC","text":"IBAbility"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Self"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibsender\/ability(_:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSender\/ability(_:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"功能接口"}],"kind":"symbol","metadata":{"role":"symbol","title":"ability(_:)","roleHeading":"Instance Method","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"ability"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Self"}],"symbolKind":"method","externalID":"s:12IOTBluetooth8IBSenderC7abilityyACXDAA9IBAbilityCF","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSender"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSender/ability(_:)":{"role":"symbol","title":"ability(_:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"ability"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBAbility","preciseIdentifier":"s:12IOTBluetooth9IBAbilityC"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Self"}],"abstract":[{"type":"text","text":"功能接口"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSender\/ability(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsender\/ability(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAbility":{"role":"symbol","title":"IBAbility","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAbility"}],"abstract":[{"type":"text","text":"功能指令"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAbility","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAbility"}],"url":"\/documentation\/iotbluetooth\/ibability"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSender":{"role":"symbol","title":"IBSender","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSender"}],"abstract":[{"type":"text","text":"蓝牙消息发送类"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSender","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBSender"}],"url":"\/documentation\/iotbluetooth\/ibsender"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"()"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibsender\/init()"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSender\/init()","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"title":"init()","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth8IBSenderCACycfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSender"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSender/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSender\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsender\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSender":{"role":"symbol","title":"IBSender","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSender"}],"abstract":[{"type":"text","text":"蓝牙消息发送类"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSender","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBSender"}],"url":"\/documentation\/iotbluetooth\/ibsender"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"attribute","text":"@discardableResult"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"parameters"},{"kind":"text","text":"("},{"kind":"externalParam","text":"_"},{"kind":"text","text":" "},{"kind":"internalParam","text":"value"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter","preciseIdentifier":"s:12IOTBluetooth11IBParameterO","text":"IBParameter"},{"kind":"text","text":"]) -> "},{"kind":"typeIdentifier","text":"Self"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibsender\/parameters(_:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSender\/parameters(_:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"参数"}],"kind":"symbol","metadata":{"role":"symbol","title":"parameters(_:)","roleHeading":"Instance Method","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"parameters"},{"kind":"text","text":"(["},{"kind":"typeIdentifier","text":"IBParameter","preciseIdentifier":"s:12IOTBluetooth11IBParameterO"},{"kind":"text","text":"]) -> "},{"kind":"typeIdentifier","text":"Self"}],"symbolKind":"method","externalID":"s:12IOTBluetooth8IBSenderC10parametersyACXDSayAA11IBParameterOGF","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSender"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBParameter":{"role":"symbol","title":"IBParameter","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBParameter"}],"abstract":[{"type":"text","text":"参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBParameter","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBParameter"}],"url":"\/documentation\/iotbluetooth\/ibparameter"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSender/parameters(_:)":{"role":"symbol","title":"parameters(_:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"parameters"},{"kind":"text","text":"(["},{"kind":"typeIdentifier","text":"IBParameter","preciseIdentifier":"s:12IOTBluetooth11IBParameterO"},{"kind":"text","text":"]) -> "},{"kind":"typeIdentifier","text":"Self"}],"abstract":[{"type":"text","text":"参数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSender\/parameters(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsender\/parameters(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSender":{"role":"symbol","title":"IBSender","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSender"}],"abstract":[{"type":"text","text":"蓝牙消息发送类"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSender","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBSender"}],"url":"\/documentation\/iotbluetooth\/ibsender"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"attribute","text":"@discardableResult"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"response"},{"kind":"text","text":"("},{"kind":"externalParam","text":"_"},{"kind":"text","text":" "},{"kind":"internalParam","text":"handler"},{"kind":"text","text":": "},{"kind":"attribute","text":"@escaping"},{"kind":"text","text":" "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCompletionHandler","preciseIdentifier":"s:12IOTBluetooth19IBCompletionHandlera","text":"IBCompletionHandler"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Self"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibsender\/response(_:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSender\/response(_:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"执行与响应处理"}],"kind":"symbol","metadata":{"role":"symbol","title":"response(_:)","roleHeading":"Instance Method","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"response"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBCompletionHandler","preciseIdentifier":"s:12IOTBluetooth19IBCompletionHandlera"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Self"}],"symbolKind":"method","externalID":"s:12IOTBluetooth8IBSenderC8responseyACXDyAA10IBResponseCcF","extendedModule":"IOTBluetooth","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSender"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSender":{"role":"symbol","title":"IBSender","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSender"}],"abstract":[{"type":"text","text":"蓝牙消息发送类"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSender","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBSender"}],"url":"\/documentation\/iotbluetooth\/ibsender"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSender/response(_:)":{"role":"symbol","title":"response(_:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"response"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"IBCompletionHandler","preciseIdentifier":"s:12IOTBluetooth19IBCompletionHandlera"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Self"}],"abstract":[{"type":"text","text":"执行与响应处理"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSender\/response(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsender\/response(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBCompletionHandler":{"role":"symbol","title":"IBCompletionHandler","fragments":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBCompletionHandler"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBCompletionHandler","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBCompletionHandler"}],"url":"\/documentation\/iotbluetooth\/ibcompletionhandler"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSendMp3"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibsendmp3"],"traits":[{"interfaceLanguage":"swift"}]}],"relationshipsSections":[{"identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/Se","doc:\/\/com.thisiot.IOTBluetooth\/SE"],"kind":"relationships","title":"Conforms To","type":"conformsTo"}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendMp3","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"发送mp3文件模型"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSendMp3"}],"title":"IBSendMp3","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:12IOTBluetooth9IBSendMp3C","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBSendMp3"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"topicSections":[{"title":"Initializers","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendMp3\/init()","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendMp3\/init(from:)"]},{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendMp3\/filePath","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendMp3\/name"]}],"references":{"doc://com.thisiot.IOTBluetooth/Se":{"type":"unresolvable","title":"Swift.Decodable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/Se"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/SE":{"type":"unresolvable","title":"Swift.Encodable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/SE"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendMp3":{"role":"symbol","title":"IBSendMp3","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSendMp3"}],"abstract":[{"type":"text","text":"发送mp3文件模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendMp3","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBSendMp3"}],"url":"\/documentation\/iotbluetooth\/ibsendmp3"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendMp3/init(from:)":{"role":"symbol","title":"init(from:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendMp3\/init(from:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsendmp3\/init(from:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendMp3/name":{"role":"symbol","title":"name","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"name"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"歌曲名字"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendMp3\/name","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsendmp3\/name"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendMp3/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendMp3\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsendmp3\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendMp3/filePath":{"role":"symbol","title":"filePath","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"filePath"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"文件路径"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendMp3\/filePath","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsendmp3\/filepath"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"filePath"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibsendmp3\/filepath"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendMp3\/filePath","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"文件路径"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"filePath"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"title":"filePath","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth9IBSendMp3C8filePathSSvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendMp3"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendMp3/filePath":{"role":"symbol","title":"filePath","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"filePath"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"文件路径"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendMp3\/filePath","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsendmp3\/filepath"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendMp3":{"role":"symbol","title":"IBSendMp3","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSendMp3"}],"abstract":[{"type":"text","text":"发送mp3文件模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendMp3","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBSendMp3"}],"url":"\/documentation\/iotbluetooth\/ibsendmp3"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"()"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibsendmp3\/init()"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendMp3\/init()","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"title":"init()","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth9IBSendMp3CACycfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendMp3"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendMp3/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendMp3\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsendmp3\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendMp3":{"role":"symbol","title":"IBSendMp3","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSendMp3"}],"abstract":[{"type":"text","text":"发送mp3文件模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendMp3","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBSendMp3"}],"url":"\/documentation\/iotbluetooth\/ibsendmp3"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":" "},{"kind":"internalParam","text":"decoder"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibsendmp3\/init(from:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendMp3\/init(from:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"Decodable.init(from:)"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"title":"init(from:)","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth9IBSendMp3C4fromACs7Decoder_p_tKcfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendMp3"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendMp3/init(from:)":{"role":"symbol","title":"init(from:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendMp3\/init(from:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsendmp3\/init(from:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendMp3":{"role":"symbol","title":"IBSendMp3","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSendMp3"}],"abstract":[{"type":"text","text":"发送mp3文件模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendMp3","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBSendMp3"}],"url":"\/documentation\/iotbluetooth\/ibsendmp3"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"name"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibsendmp3\/name"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendMp3\/name","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"歌曲名字"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"name"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"title":"name","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth9IBSendMp3C4nameSSvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendMp3"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendMp3":{"role":"symbol","title":"IBSendMp3","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSendMp3"}],"abstract":[{"type":"text","text":"发送mp3文件模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendMp3","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBSendMp3"}],"url":"\/documentation\/iotbluetooth\/ibsendmp3"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendMp3/name":{"role":"symbol","title":"name","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"name"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"歌曲名字"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendMp3\/name","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsendmp3\/name"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSendOta"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibsendota"],"traits":[{"interfaceLanguage":"swift"}]}],"relationshipsSections":[{"identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/Se","doc:\/\/com.thisiot.IOTBluetooth\/SE"],"kind":"relationships","title":"Conforms To","type":"conformsTo"}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendOta","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"发送OTA文件模型"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSendOta"}],"title":"IBSendOta","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:12IOTBluetooth9IBSendOtaC","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBSendOta"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"topicSections":[{"title":"Initializers","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendOta\/init()","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendOta\/init(from:)"]},{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendOta\/filePath","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendOta\/isForced","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendOta\/major","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendOta\/mid","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendOta\/minor"]}],"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendOta/filePath":{"role":"symbol","title":"filePath","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"filePath"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"文件路径"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendOta\/filePath","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsendota\/filepath"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendOta/mid":{"role":"symbol","title":"mid","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"mid"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"mid是中间版本号"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendOta\/mid","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsendota\/mid"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendOta/minor":{"role":"symbol","title":"minor","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"minor"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"minor是次版本号"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendOta\/minor","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsendota\/minor"},"doc://com.thisiot.IOTBluetooth/SE":{"type":"unresolvable","title":"Swift.Encodable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/SE"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendOta/init(from:)":{"role":"symbol","title":"init(from:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendOta\/init(from:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsendota\/init(from:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendOta/major":{"role":"symbol","title":"major","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"major"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"major是主版本号,mid是中间版本号,minor是次版本号,用于与手表当前版本比较,新于当前版本才可升级"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendOta\/major","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsendota\/major"},"doc://com.thisiot.IOTBluetooth/Se":{"type":"unresolvable","title":"Swift.Decodable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/Se"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendOta/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendOta\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsendota\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendOta/isForced":{"role":"symbol","title":"isForced","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"isForced"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"是否强制升级,0为非强制,1为强制"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendOta\/isForced","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsendota\/isforced"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendOta":{"role":"symbol","title":"IBSendOta","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSendOta"}],"abstract":[{"type":"text","text":"发送OTA文件模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendOta","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBSendOta"}],"url":"\/documentation\/iotbluetooth\/ibsendota"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"filePath"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibsendota\/filepath"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendOta\/filePath","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"文件路径"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"filePath"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"title":"filePath","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth9IBSendOtaC8filePathSSvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendOta"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendOta":{"role":"symbol","title":"IBSendOta","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSendOta"}],"abstract":[{"type":"text","text":"发送OTA文件模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendOta","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBSendOta"}],"url":"\/documentation\/iotbluetooth\/ibsendota"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendOta/filePath":{"role":"symbol","title":"filePath","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"filePath"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"文件路径"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendOta\/filePath","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsendota\/filepath"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"()"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibsendota\/init()"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendOta\/init()","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"title":"init()","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth9IBSendOtaCACycfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendOta"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendOta/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendOta\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsendota\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendOta":{"role":"symbol","title":"IBSendOta","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSendOta"}],"abstract":[{"type":"text","text":"发送OTA文件模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendOta","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBSendOta"}],"url":"\/documentation\/iotbluetooth\/ibsendota"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":" "},{"kind":"internalParam","text":"decoder"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibsendota\/init(from:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendOta\/init(from:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"Decodable.init(from:)"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"title":"init(from:)","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth9IBSendOtaC4fromACs7Decoder_p_tKcfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendOta"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendOta/init(from:)":{"role":"symbol","title":"init(from:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendOta\/init(from:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsendota\/init(from:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendOta":{"role":"symbol","title":"IBSendOta","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSendOta"}],"abstract":[{"type":"text","text":"发送OTA文件模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendOta","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBSendOta"}],"url":"\/documentation\/iotbluetooth\/ibsendota"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"isForced"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibsendota\/isforced"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendOta\/isForced","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"是否强制升级,0为非强制,1为强制"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"isForced"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"isForced","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth9IBSendOtaC8isForcedSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendOta"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendOta":{"role":"symbol","title":"IBSendOta","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSendOta"}],"abstract":[{"type":"text","text":"发送OTA文件模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendOta","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBSendOta"}],"url":"\/documentation\/iotbluetooth\/ibsendota"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendOta/isForced":{"role":"symbol","title":"isForced","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"isForced"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"是否强制升级,0为非强制,1为强制"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendOta\/isForced","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsendota\/isforced"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"major"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibsendota\/major"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendOta\/major","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"major是主版本号,mid是中间版本号,minor是次版本号,用于与手表当前版本比较,新于当前版本才可升级"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"major"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"major","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth9IBSendOtaC5majorSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendOta"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendOta":{"role":"symbol","title":"IBSendOta","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSendOta"}],"abstract":[{"type":"text","text":"发送OTA文件模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendOta","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBSendOta"}],"url":"\/documentation\/iotbluetooth\/ibsendota"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendOta/major":{"role":"symbol","title":"major","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"major"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"major是主版本号,mid是中间版本号,minor是次版本号,用于与手表当前版本比较,新于当前版本才可升级"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendOta\/major","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsendota\/major"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"mid"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibsendota\/mid"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendOta\/mid","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"mid是中间版本号"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"mid"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"mid","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth9IBSendOtaC3midSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendOta"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendOta":{"role":"symbol","title":"IBSendOta","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSendOta"}],"abstract":[{"type":"text","text":"发送OTA文件模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendOta","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBSendOta"}],"url":"\/documentation\/iotbluetooth\/ibsendota"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendOta/mid":{"role":"symbol","title":"mid","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"mid"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"mid是中间版本号"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendOta\/mid","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsendota\/mid"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"minor"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibsendota\/minor"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendOta\/minor","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"minor是次版本号"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"minor"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"minor","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth9IBSendOtaC5minorSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendOta"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendOta/minor":{"role":"symbol","title":"minor","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"minor"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"minor是次版本号"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendOta\/minor","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsendota\/minor"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendOta":{"role":"symbol","title":"IBSendOta","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSendOta"}],"abstract":[{"type":"text","text":"发送OTA文件模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendOta","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBSendOta"}],"url":"\/documentation\/iotbluetooth\/ibsendota"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSendTime"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibsendtime"],"traits":[{"interfaceLanguage":"swift"}]}],"relationshipsSections":[{"identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/Se","doc:\/\/com.thisiot.IOTBluetooth\/SE"],"kind":"relationships","title":"Conforms To","type":"conformsTo"}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"发送时间模型"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSendTime"}],"title":"IBSendTime","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:12IOTBluetooth10IBSendTimeC","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBSendTime"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"topicSections":[{"title":"Initializers","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime\/init()","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime\/init(from:)"]},{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime\/day","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime\/hour","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime\/minute","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime\/month","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime\/second","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime\/time","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime\/week","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime\/year"]}],"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendTime/time":{"role":"symbol","title":"time","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"time"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"unix时间戳"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime\/time","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsendtime\/time"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendTime/month":{"role":"symbol","title":"month","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"month"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"1-12"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime\/month","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsendtime\/month"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendTime/init(from:)":{"role":"symbol","title":"init(from:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime\/init(from:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsendtime\/init(from:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendTime/minute":{"role":"symbol","title":"minute","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"minute"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"0-60"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime\/minute","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsendtime\/minute"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/Se":{"type":"unresolvable","title":"Swift.Decodable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/Se"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendTime/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsendtime\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendTime/second":{"role":"symbol","title":"second","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"second"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"0-60"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime\/second","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsendtime\/second"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendTime/year":{"role":"symbol","title":"year","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"year"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"0-127,年份减去2000"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime\/year","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsendtime\/year"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendTime/week":{"role":"symbol","title":"week","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"week"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"0-6:周日-周六"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime\/week","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsendtime\/week"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendTime/day":{"role":"symbol","title":"day","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"day"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"1-31"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime\/day","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsendtime\/day"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendTime/hour":{"role":"symbol","title":"hour","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"hour"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"0-24"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime\/hour","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsendtime\/hour"},"doc://com.thisiot.IOTBluetooth/SE":{"type":"unresolvable","title":"Swift.Encodable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/SE"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendTime":{"role":"symbol","title":"IBSendTime","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSendTime"}],"abstract":[{"type":"text","text":"发送时间模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBSendTime"}],"url":"\/documentation\/iotbluetooth\/ibsendtime"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"day"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibsendtime\/day"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime\/day","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"1-31"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"day"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"day","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth10IBSendTimeC3daySivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendTime/day":{"role":"symbol","title":"day","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"day"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"1-31"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime\/day","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsendtime\/day"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendTime":{"role":"symbol","title":"IBSendTime","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSendTime"}],"abstract":[{"type":"text","text":"发送时间模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBSendTime"}],"url":"\/documentation\/iotbluetooth\/ibsendtime"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"hour"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibsendtime\/hour"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime\/hour","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"0-24"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"hour"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"hour","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth10IBSendTimeC4hourSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendTime":{"role":"symbol","title":"IBSendTime","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSendTime"}],"abstract":[{"type":"text","text":"发送时间模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBSendTime"}],"url":"\/documentation\/iotbluetooth\/ibsendtime"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendTime/hour":{"role":"symbol","title":"hour","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"hour"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"0-24"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime\/hour","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsendtime\/hour"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"()"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibsendtime\/init()"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime\/init()","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"title":"init()","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth10IBSendTimeCACycfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendTime/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsendtime\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendTime":{"role":"symbol","title":"IBSendTime","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSendTime"}],"abstract":[{"type":"text","text":"发送时间模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBSendTime"}],"url":"\/documentation\/iotbluetooth\/ibsendtime"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":" "},{"kind":"internalParam","text":"decoder"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibsendtime\/init(from:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime\/init(from:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"Decodable.init(from:)"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"title":"init(from:)","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth10IBSendTimeC4fromACs7Decoder_p_tKcfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendTime":{"role":"symbol","title":"IBSendTime","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSendTime"}],"abstract":[{"type":"text","text":"发送时间模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBSendTime"}],"url":"\/documentation\/iotbluetooth\/ibsendtime"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendTime/init(from:)":{"role":"symbol","title":"init(from:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime\/init(from:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsendtime\/init(from:)"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"minute"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibsendtime\/minute"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime\/minute","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"0-60"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"minute"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"minute","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth10IBSendTimeC6minuteSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendTime/minute":{"role":"symbol","title":"minute","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"minute"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"0-60"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime\/minute","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsendtime\/minute"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendTime":{"role":"symbol","title":"IBSendTime","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSendTime"}],"abstract":[{"type":"text","text":"发送时间模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBSendTime"}],"url":"\/documentation\/iotbluetooth\/ibsendtime"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"month"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibsendtime\/month"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime\/month","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"1-12"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"month"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"month","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth10IBSendTimeC5monthSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendTime":{"role":"symbol","title":"IBSendTime","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSendTime"}],"abstract":[{"type":"text","text":"发送时间模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBSendTime"}],"url":"\/documentation\/iotbluetooth\/ibsendtime"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendTime/month":{"role":"symbol","title":"month","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"month"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"1-12"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime\/month","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsendtime\/month"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"second"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibsendtime\/second"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime\/second","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"0-60"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"second"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"second","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth10IBSendTimeC6secondSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendTime":{"role":"symbol","title":"IBSendTime","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSendTime"}],"abstract":[{"type":"text","text":"发送时间模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBSendTime"}],"url":"\/documentation\/iotbluetooth\/ibsendtime"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendTime/second":{"role":"symbol","title":"second","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"second"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"0-60"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime\/second","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsendtime\/second"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"time"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibsendtime\/time"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime\/time","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"unix时间戳"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"time"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"time","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth10IBSendTimeC4timeSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendTime/time":{"role":"symbol","title":"time","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"time"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"unix时间戳"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime\/time","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsendtime\/time"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendTime":{"role":"symbol","title":"IBSendTime","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSendTime"}],"abstract":[{"type":"text","text":"发送时间模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBSendTime"}],"url":"\/documentation\/iotbluetooth\/ibsendtime"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"week"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibsendtime\/week"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime\/week","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"0-6:周日-周六"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"week"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"week","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth10IBSendTimeC4weekSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendTime/week":{"role":"symbol","title":"week","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"week"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"0-6:周日-周六"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime\/week","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsendtime\/week"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendTime":{"role":"symbol","title":"IBSendTime","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSendTime"}],"abstract":[{"type":"text","text":"发送时间模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBSendTime"}],"url":"\/documentation\/iotbluetooth\/ibsendtime"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"year"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibsendtime\/year"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime\/year","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"0-127,年份减去2000"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"year"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"year","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth10IBSendTimeC4yearSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendTime":{"role":"symbol","title":"IBSendTime","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSendTime"}],"abstract":[{"type":"text","text":"发送时间模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBSendTime"}],"url":"\/documentation\/iotbluetooth\/ibsendtime"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSendTime/year":{"role":"symbol","title":"year","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"year"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"0-127,年份减去2000"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSendTime\/year","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsendtime\/year"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSleep"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibsleep"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleep","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"睡眠设置模型"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSleep"}],"title":"IBSleep","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:12IOTBluetooth7IBSleepC","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBSleep"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"topicSections":[{"title":"Initializers","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleep\/init()"]},{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleep\/alertBeforeMin20","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleep\/getUpTime","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleep\/sleepTime","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleep\/sleepTimeSet"]}],"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSleep/alertBeforeMin20":{"role":"symbol","title":"alertBeforeMin20","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"alertBeforeMin20"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"就寝前20分钟提醒,0:关闭1:开启"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleep\/alertBeforeMin20","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsleep\/alertbeforemin20"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSleep/sleepTimeSet":{"role":"symbol","title":"sleepTimeSet","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"sleepTimeSet"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"0:关闭 1:开启 为0时后面所有项目都无需设置。"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleep\/sleepTimeSet","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsleep\/sleeptimeset"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSleep/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleep\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsleep\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSleep":{"role":"symbol","title":"IBSleep","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSleep"}],"abstract":[{"type":"text","text":"睡眠设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleep","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBSleep"}],"url":"\/documentation\/iotbluetooth\/ibsleep"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSleep/getUpTime":{"role":"symbol","title":"getUpTime","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"getUpTime"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBTimeItem","preciseIdentifier":"s:12IOTBluetooth10IBTimeItemV"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"起床时间"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleep\/getUpTime","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsleep\/getuptime"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSleep/sleepTime":{"role":"symbol","title":"sleepTime","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"sleepTime"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBTimeItem","preciseIdentifier":"s:12IOTBluetooth10IBTimeItemV"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"就寝时间"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleep\/sleepTime","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsleep\/sleeptime"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"alertBeforeMin20"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibsleep\/alertbeforemin20"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleep\/alertBeforeMin20","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"就寝前20分钟提醒,0:关闭1:开启"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"alertBeforeMin20"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"alertBeforeMin20","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth7IBSleepC16alertBeforeMin20Sivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleep"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSleep":{"role":"symbol","title":"IBSleep","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSleep"}],"abstract":[{"type":"text","text":"睡眠设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleep","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBSleep"}],"url":"\/documentation\/iotbluetooth\/ibsleep"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSleep/alertBeforeMin20":{"role":"symbol","title":"alertBeforeMin20","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"alertBeforeMin20"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"就寝前20分钟提醒,0:关闭1:开启"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleep\/alertBeforeMin20","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsleep\/alertbeforemin20"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"getUpTime"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTimeItem","preciseIdentifier":"s:12IOTBluetooth10IBTimeItemV","text":"IBTimeItem"},{"kind":"text","text":"?"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibsleep\/getuptime"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleep\/getUpTime","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"起床时间"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"getUpTime"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBTimeItem","preciseIdentifier":"s:12IOTBluetooth10IBTimeItemV"},{"kind":"text","text":"?"}],"title":"getUpTime","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth7IBSleepC9getUpTimeAA10IBTimeItemVSgvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleep"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTimeItem":{"role":"symbol","title":"IBTimeItem","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTimeItem"}],"abstract":[{"type":"text","text":"时间"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTimeItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBTimeItem"}],"url":"\/documentation\/iotbluetooth\/ibtimeitem"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSleep/getUpTime":{"role":"symbol","title":"getUpTime","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"getUpTime"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBTimeItem","preciseIdentifier":"s:12IOTBluetooth10IBTimeItemV"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"起床时间"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleep\/getUpTime","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsleep\/getuptime"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSleep":{"role":"symbol","title":"IBSleep","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSleep"}],"abstract":[{"type":"text","text":"睡眠设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleep","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBSleep"}],"url":"\/documentation\/iotbluetooth\/ibsleep"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"()"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibsleep\/init()"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleep\/init()","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"title":"init()","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth7IBSleepCACycfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleep"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSleep/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleep\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsleep\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSleep":{"role":"symbol","title":"IBSleep","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSleep"}],"abstract":[{"type":"text","text":"睡眠设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleep","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBSleep"}],"url":"\/documentation\/iotbluetooth\/ibsleep"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"sleepTime"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTimeItem","preciseIdentifier":"s:12IOTBluetooth10IBTimeItemV","text":"IBTimeItem"},{"kind":"text","text":"?"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibsleep\/sleeptime"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleep\/sleepTime","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"就寝时间"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"sleepTime"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBTimeItem","preciseIdentifier":"s:12IOTBluetooth10IBTimeItemV"},{"kind":"text","text":"?"}],"title":"sleepTime","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth7IBSleepC9sleepTimeAA10IBTimeItemVSgvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleep"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSleep":{"role":"symbol","title":"IBSleep","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSleep"}],"abstract":[{"type":"text","text":"睡眠设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleep","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBSleep"}],"url":"\/documentation\/iotbluetooth\/ibsleep"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTimeItem":{"role":"symbol","title":"IBTimeItem","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTimeItem"}],"abstract":[{"type":"text","text":"时间"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTimeItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBTimeItem"}],"url":"\/documentation\/iotbluetooth\/ibtimeitem"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSleep/sleepTime":{"role":"symbol","title":"sleepTime","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"sleepTime"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBTimeItem","preciseIdentifier":"s:12IOTBluetooth10IBTimeItemV"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"就寝时间"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleep\/sleepTime","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsleep\/sleeptime"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"sleepTimeSet"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibsleep\/sleeptimeset"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleep\/sleepTimeSet","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"0:关闭 1:开启 为0时后面所有项目都无需设置。"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"sleepTimeSet"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"sleepTimeSet","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth7IBSleepC12sleepTimeSetSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleep"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSleep":{"role":"symbol","title":"IBSleep","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSleep"}],"abstract":[{"type":"text","text":"睡眠设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleep","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBSleep"}],"url":"\/documentation\/iotbluetooth\/ibsleep"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSleep/sleepTimeSet":{"role":"symbol","title":"sleepTimeSet","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"sleepTimeSet"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"0:关闭 1:开启 为0时后面所有项目都无需设置。"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleep\/sleepTimeSet","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsleep\/sleeptimeset"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSleepState"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibsleepstate"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleepState","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"睡眠状态"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSleepState"}],"title":"IBSleepState","roleHeading":"Structure","role":"symbol","symbolKind":"struct","externalID":"s:12IOTBluetooth12IBSleepStateV","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBSleepState"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"topicSections":[{"title":"Initializers","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleepState\/init(time:state:)"]},{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleepState\/state","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleepState\/time"]}],"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSleepState/time":{"role":"symbol","title":"time","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"time"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"Unix时间戳"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleepState\/time","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsleepstate\/time"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSleepState/init(time:state:)":{"role":"symbol","title":"init(time:state:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"time"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":", "},{"kind":"externalParam","text":"state"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleepState\/init(time:state:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsleepstate\/init(time:state:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSleepState":{"role":"symbol","title":"IBSleepState","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSleepState"}],"abstract":[{"type":"text","text":"睡眠状态"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleepState","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBSleepState"}],"url":"\/documentation\/iotbluetooth\/ibsleepstate"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSleepState/state":{"role":"symbol","title":"state","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"state"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"状态,0:进入睡眠 1:浅层睡眠 2:深层睡眠 3:清醒 4:结束睡眠 7:未出睡最后一笔睡眠数据(资料上报结束标志) 9:出睡最后一笔睡眠数据(资料上报结束标志) 12:快速眼动 13:取消入睡通知(睡眠不足 60 分钟出睡上报状态) 14:结束小睡"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleepState\/state","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsleepstate\/state"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"time"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":", "},{"kind":"externalParam","text":"state"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibsleepstate\/init(time:state:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleepState\/init(time:state:)","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"time"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":", "},{"kind":"externalParam","text":"state"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}],"title":"init(time:state:)","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth12IBSleepStateV4time5stateACSi_Sitcfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleepState"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSleepState/init(time:state:)":{"role":"symbol","title":"init(time:state:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"time"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":", "},{"kind":"externalParam","text":"state"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleepState\/init(time:state:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsleepstate\/init(time:state:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSleepState":{"role":"symbol","title":"IBSleepState","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSleepState"}],"abstract":[{"type":"text","text":"睡眠状态"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleepState","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBSleepState"}],"url":"\/documentation\/iotbluetooth\/ibsleepstate"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"state"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibsleepstate\/state"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleepState\/state","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"状态,0:进入睡眠 1:浅层睡眠 2:深层睡眠 3:清醒 4:结束睡眠 7:未出睡最后一笔睡眠数据(资料上报结束标志) 9:出睡最后一笔睡眠数据(资料上报结束标志) 12:快速眼动 13:取消入睡通知(睡眠不足 60 分钟出睡上报状态) 14:结束小睡"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"state"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"state","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth12IBSleepStateV5stateSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleepState"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSleepState/state":{"role":"symbol","title":"state","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"state"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"状态,0:进入睡眠 1:浅层睡眠 2:深层睡眠 3:清醒 4:结束睡眠 7:未出睡最后一笔睡眠数据(资料上报结束标志) 9:出睡最后一笔睡眠数据(资料上报结束标志) 12:快速眼动 13:取消入睡通知(睡眠不足 60 分钟出睡上报状态) 14:结束小睡"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleepState\/state","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsleepstate\/state"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSleepState":{"role":"symbol","title":"IBSleepState","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSleepState"}],"abstract":[{"type":"text","text":"睡眠状态"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleepState","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBSleepState"}],"url":"\/documentation\/iotbluetooth\/ibsleepstate"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"time"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibsleepstate\/time"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleepState\/time","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Unix时间戳"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"time"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"time","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth12IBSleepStateV4timeSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleepState"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSleepState/time":{"role":"symbol","title":"time","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"time"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"Unix时间戳"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleepState\/time","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsleepstate\/time"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSleepState":{"role":"symbol","title":"IBSleepState","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSleepState"}],"abstract":[{"type":"text","text":"睡眠状态"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleepState","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBSleepState"}],"url":"\/documentation\/iotbluetooth\/ibsleepstate"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSleepTime"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibsleeptime"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleepTime","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"时间"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSleepTime"}],"title":"IBSleepTime","roleHeading":"Structure","role":"symbol","symbolKind":"struct","externalID":"s:12IOTBluetooth11IBSleepTimeV","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBSleepTime"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"topicSections":[{"title":"Initializers","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleepTime\/init(hour:minute:)"]},{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleepTime\/hour","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleepTime\/minute"]}],"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSleepTime":{"role":"symbol","title":"IBSleepTime","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSleepTime"}],"abstract":[{"type":"text","text":"时间"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleepTime","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBSleepTime"}],"url":"\/documentation\/iotbluetooth\/ibsleeptime"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSleepTime/minute":{"role":"symbol","title":"minute","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"minute"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"分 0~59"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleepTime\/minute","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsleeptime\/minute"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSleepTime/hour":{"role":"symbol","title":"hour","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"hour"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"时"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleepTime\/hour","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsleeptime\/hour"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSleepTime/init(hour:minute:)":{"role":"symbol","title":"init(hour:minute:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"hour"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":", "},{"kind":"externalParam","text":"minute"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleepTime\/init(hour:minute:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsleeptime\/init(hour:minute:)"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"hour"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibsleeptime\/hour"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleepTime\/hour","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"时"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"hour"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"hour","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth11IBSleepTimeV4hourSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleepTime"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSleepTime/hour":{"role":"symbol","title":"hour","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"hour"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"时"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleepTime\/hour","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsleeptime\/hour"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSleepTime":{"role":"symbol","title":"IBSleepTime","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSleepTime"}],"abstract":[{"type":"text","text":"时间"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleepTime","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBSleepTime"}],"url":"\/documentation\/iotbluetooth\/ibsleeptime"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"hour"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":", "},{"kind":"externalParam","text":"minute"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibsleeptime\/init(hour:minute:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleepTime\/init(hour:minute:)","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"hour"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":", "},{"kind":"externalParam","text":"minute"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}],"title":"init(hour:minute:)","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth11IBSleepTimeV4hour6minuteACSi_Sitcfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleepTime"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSleepTime/init(hour:minute:)":{"role":"symbol","title":"init(hour:minute:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"hour"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":", "},{"kind":"externalParam","text":"minute"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleepTime\/init(hour:minute:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsleeptime\/init(hour:minute:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSleepTime":{"role":"symbol","title":"IBSleepTime","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSleepTime"}],"abstract":[{"type":"text","text":"时间"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleepTime","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBSleepTime"}],"url":"\/documentation\/iotbluetooth\/ibsleeptime"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"minute"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibsleeptime\/minute"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleepTime\/minute","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"分 0~59"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"minute"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"minute","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth11IBSleepTimeV6minuteSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleepTime"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSleepTime":{"role":"symbol","title":"IBSleepTime","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBSleepTime"}],"abstract":[{"type":"text","text":"时间"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleepTime","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBSleepTime"}],"url":"\/documentation\/iotbluetooth\/ibsleeptime"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBSleepTime/minute":{"role":"symbol","title":"minute","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"minute"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"分 0~59"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBSleepTime\/minute","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibsleeptime\/minute"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTargetStep"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibtargetstep"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTargetStep","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"目标步数模型"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTargetStep"}],"title":"IBTargetStep","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:12IOTBluetooth12IBTargetStepC","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBTargetStep"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"topicSections":[{"title":"Initializers","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTargetStep\/init()"]},{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTargetStep\/notice","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTargetStep\/ring","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTargetStep\/value","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTargetStep\/vibrate"]}],"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTargetStep/notice":{"role":"symbol","title":"notice","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"notice"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"通知提醒(0=关闭,1=开启)"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTargetStep\/notice","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtargetstep\/notice"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTargetStep/ring":{"role":"symbol","title":"ring","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"ring"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"铃声提醒(0=关闭,1=开启)"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTargetStep\/ring","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtargetstep\/ring"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTargetStep/vibrate":{"role":"symbol","title":"vibrate","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"vibrate"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"震动提醒(0=关闭,1=开启)"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTargetStep\/vibrate","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtargetstep\/vibrate"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTargetStep/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTargetStep\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtargetstep\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTargetStep/value":{"role":"symbol","title":"value","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"value"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"步数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTargetStep\/value","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtargetstep\/value"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTargetStep":{"role":"symbol","title":"IBTargetStep","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTargetStep"}],"abstract":[{"type":"text","text":"目标步数模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTargetStep","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBTargetStep"}],"url":"\/documentation\/iotbluetooth\/ibtargetstep"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"()"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibtargetstep\/init()"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTargetStep\/init()","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"title":"init()","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth12IBTargetStepCACycfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTargetStep"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTargetStep/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTargetStep\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtargetstep\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTargetStep":{"role":"symbol","title":"IBTargetStep","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTargetStep"}],"abstract":[{"type":"text","text":"目标步数模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTargetStep","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBTargetStep"}],"url":"\/documentation\/iotbluetooth\/ibtargetstep"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"notice"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibtargetstep\/notice"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTargetStep\/notice","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"通知提醒(0=关闭,1=开启)"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"notice"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"notice","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth12IBTargetStepC6noticeSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTargetStep"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTargetStep":{"role":"symbol","title":"IBTargetStep","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTargetStep"}],"abstract":[{"type":"text","text":"目标步数模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTargetStep","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBTargetStep"}],"url":"\/documentation\/iotbluetooth\/ibtargetstep"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTargetStep/notice":{"role":"symbol","title":"notice","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"notice"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"通知提醒(0=关闭,1=开启)"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTargetStep\/notice","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtargetstep\/notice"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"ring"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibtargetstep\/ring"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTargetStep\/ring","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"铃声提醒(0=关闭,1=开启)"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"ring"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"ring","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth12IBTargetStepC4ringSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTargetStep"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTargetStep":{"role":"symbol","title":"IBTargetStep","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTargetStep"}],"abstract":[{"type":"text","text":"目标步数模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTargetStep","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBTargetStep"}],"url":"\/documentation\/iotbluetooth\/ibtargetstep"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTargetStep/ring":{"role":"symbol","title":"ring","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"ring"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"铃声提醒(0=关闭,1=开启)"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTargetStep\/ring","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtargetstep\/ring"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"value"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibtargetstep\/value"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTargetStep\/value","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"步数"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"value"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"value","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth12IBTargetStepC5valueSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTargetStep"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTargetStep":{"role":"symbol","title":"IBTargetStep","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTargetStep"}],"abstract":[{"type":"text","text":"目标步数模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTargetStep","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBTargetStep"}],"url":"\/documentation\/iotbluetooth\/ibtargetstep"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTargetStep/value":{"role":"symbol","title":"value","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"value"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"步数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTargetStep\/value","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtargetstep\/value"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"vibrate"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibtargetstep\/vibrate"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTargetStep\/vibrate","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"震动提醒(0=关闭,1=开启)"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"vibrate"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"vibrate","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth12IBTargetStepC7vibrateSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTargetStep"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTargetStep/vibrate":{"role":"symbol","title":"vibrate","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"vibrate"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"震动提醒(0=关闭,1=开启)"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTargetStep\/vibrate","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtargetstep\/vibrate"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTargetStep":{"role":"symbol","title":"IBTargetStep","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTargetStep"}],"abstract":[{"type":"text","text":"目标步数模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTargetStep","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBTargetStep"}],"url":"\/documentation\/iotbluetooth\/ibtargetstep"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTarinState"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibtarinstate"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTarinState","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"推送训练状态模型"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTarinState"}],"title":"IBTarinState","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:12IOTBluetooth12IBTarinStateC","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBTarinState"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"topicSections":[{"title":"Initializers","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTarinState\/init()"]},{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTarinState\/description","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTarinState\/duration","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTarinState\/state"]}],"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTarinState/duration":{"role":"symbol","title":"duration","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"duration"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"训练时长,单位秒"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTarinState\/duration","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtarinstate\/duration"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTarinState/description":{"role":"symbol","title":"description","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"description"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTarinState\/description","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtarinstate\/description"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTarinState/state":{"role":"symbol","title":"state","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"state"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"状态 0:结束 1:开始 2:暂停 3:恢复"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTarinState\/state","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtarinstate\/state"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTarinState/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTarinState\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtarinstate\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTarinState":{"role":"symbol","title":"IBTarinState","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTarinState"}],"abstract":[{"type":"text","text":"推送训练状态模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTarinState","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBTarinState"}],"url":"\/documentation\/iotbluetooth\/ibtarinstate"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"description"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":" { "},{"kind":"keyword","text":"get"},{"kind":"text","text":" }"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibtarinstate\/description"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTarinState\/description","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"description"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"title":"description","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth12IBTarinStateC11descriptionSSvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTarinState"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTarinState/description":{"role":"symbol","title":"description","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"description"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTarinState\/description","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtarinstate\/description"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTarinState":{"role":"symbol","title":"IBTarinState","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTarinState"}],"abstract":[{"type":"text","text":"推送训练状态模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTarinState","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBTarinState"}],"url":"\/documentation\/iotbluetooth\/ibtarinstate"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"duration"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibtarinstate\/duration"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTarinState\/duration","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"训练时长,单位秒"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"duration"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"duration","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth12IBTarinStateC8durationSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTarinState"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTarinState/duration":{"role":"symbol","title":"duration","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"duration"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"训练时长,单位秒"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTarinState\/duration","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtarinstate\/duration"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTarinState":{"role":"symbol","title":"IBTarinState","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTarinState"}],"abstract":[{"type":"text","text":"推送训练状态模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTarinState","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBTarinState"}],"url":"\/documentation\/iotbluetooth\/ibtarinstate"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"()"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibtarinstate\/init()"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTarinState\/init()","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"title":"init()","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth12IBTarinStateCACycfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTarinState"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTarinState":{"role":"symbol","title":"IBTarinState","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTarinState"}],"abstract":[{"type":"text","text":"推送训练状态模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTarinState","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBTarinState"}],"url":"\/documentation\/iotbluetooth\/ibtarinstate"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTarinState/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTarinState\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtarinstate\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"state"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibtarinstate\/state"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTarinState\/state","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"状态 0:结束 1:开始 2:暂停 3:恢复"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"state"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"state","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth12IBTarinStateC5stateSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTarinState"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTarinState/state":{"role":"symbol","title":"state","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"state"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"状态 0:结束 1:开始 2:暂停 3:恢复"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTarinState\/state","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtarinstate\/state"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTarinState":{"role":"symbol","title":"IBTarinState","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTarinState"}],"abstract":[{"type":"text","text":"推送训练状态模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTarinState","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBTarinState"}],"url":"\/documentation\/iotbluetooth\/ibtarinstate"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTimeItem"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibtimeitem"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTimeItem","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"时间"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTimeItem"}],"title":"IBTimeItem","roleHeading":"Structure","role":"symbol","symbolKind":"struct","externalID":"s:12IOTBluetooth10IBTimeItemV","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBTimeItem"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"topicSections":[{"title":"Initializers","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTimeItem\/init(hour:minute:)"]},{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTimeItem\/hour","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTimeItem\/minute"]}],"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTimeItem/minute":{"role":"symbol","title":"minute","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"minute"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"0~59"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTimeItem\/minute","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtimeitem\/minute"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTimeItem/init(hour:minute:)":{"role":"symbol","title":"init(hour:minute:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"hour"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":", "},{"kind":"externalParam","text":"minute"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTimeItem\/init(hour:minute:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtimeitem\/init(hour:minute:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTimeItem":{"role":"symbol","title":"IBTimeItem","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTimeItem"}],"abstract":[{"type":"text","text":"时间"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTimeItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBTimeItem"}],"url":"\/documentation\/iotbluetooth\/ibtimeitem"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTimeItem/hour":{"role":"symbol","title":"hour","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"hour"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"0~23"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTimeItem\/hour","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtimeitem\/hour"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"hour"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibtimeitem\/hour"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTimeItem\/hour","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"0~23"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"hour"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"hour","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth10IBTimeItemV4hourSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTimeItem"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTimeItem/hour":{"role":"symbol","title":"hour","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"hour"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"0~23"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTimeItem\/hour","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtimeitem\/hour"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTimeItem":{"role":"symbol","title":"IBTimeItem","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTimeItem"}],"abstract":[{"type":"text","text":"时间"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTimeItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBTimeItem"}],"url":"\/documentation\/iotbluetooth\/ibtimeitem"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"hour"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":", "},{"kind":"externalParam","text":"minute"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibtimeitem\/init(hour:minute:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTimeItem\/init(hour:minute:)","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"hour"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":", "},{"kind":"externalParam","text":"minute"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}],"title":"init(hour:minute:)","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth10IBTimeItemV4hour6minuteACSi_Sitcfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTimeItem"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTimeItem/init(hour:minute:)":{"role":"symbol","title":"init(hour:minute:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"hour"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":", "},{"kind":"externalParam","text":"minute"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTimeItem\/init(hour:minute:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtimeitem\/init(hour:minute:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTimeItem":{"role":"symbol","title":"IBTimeItem","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTimeItem"}],"abstract":[{"type":"text","text":"时间"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTimeItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBTimeItem"}],"url":"\/documentation\/iotbluetooth\/ibtimeitem"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"minute"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibtimeitem\/minute"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTimeItem\/minute","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"0~59"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"minute"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"minute","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth10IBTimeItemV6minuteSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTimeItem"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTimeItem":{"role":"symbol","title":"IBTimeItem","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTimeItem"}],"abstract":[{"type":"text","text":"时间"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTimeItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBTimeItem"}],"url":"\/documentation\/iotbluetooth\/ibtimeitem"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTimeItem/minute":{"role":"symbol","title":"minute","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"minute"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"0~59"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTimeItem\/minute","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtimeitem\/minute"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTrainingData"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibtrainingdata"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainingData","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"训练数据模型"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTrainingData"}],"title":"IBTrainingData","roleHeading":"Structure","role":"symbol","symbolKind":"struct","externalID":"s:12IOTBluetooth14IBTrainingDataV","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBTrainingData"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"topicSections":[{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainingData\/calorie","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainingData\/description","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainingData\/distance","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainingData\/heartRate","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainingData\/intensity","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainingData\/startTime","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainingData\/stepCount"]}],"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainingData/calorie":{"role":"symbol","title":"calorie","fragments":[{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"calorie"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"实时训练卡路里,单位kcal"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainingData\/calorie","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtrainingdata\/calorie"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainingData/heartRate":{"role":"symbol","title":"heartRate","fragments":[{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"heartRate"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"实时训练心率,单位bpm"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainingData\/heartRate","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtrainingdata\/heartrate"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainingData/description":{"role":"symbol","title":"description","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"description"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainingData\/description","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtrainingdata\/description"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainingData":{"role":"symbol","title":"IBTrainingData","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTrainingData"}],"abstract":[{"type":"text","text":"训练数据模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainingData","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBTrainingData"}],"url":"\/documentation\/iotbluetooth\/ibtrainingdata"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainingData/startTime":{"role":"symbol","title":"startTime","fragments":[{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"startTime"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"训练开始时间(时间戳)"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainingData\/startTime","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtrainingdata\/starttime"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainingData/intensity":{"role":"symbol","title":"intensity","fragments":[{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"intensity"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"实时训练强度"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainingData\/intensity","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtrainingdata\/intensity"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainingData/distance":{"role":"symbol","title":"distance","fragments":[{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"distance"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"实时训练距离,单位米"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainingData\/distance","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtrainingdata\/distance"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainingData/stepCount":{"role":"symbol","title":"stepCount","fragments":[{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"stepCount"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"实时训练步数,单位步"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainingData\/stepCount","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtrainingdata\/stepcount"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"calorie"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibtrainingdata\/calorie"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainingData\/calorie","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"实时训练卡路里,单位kcal"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"calorie"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"calorie","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth14IBTrainingDataV7calorieSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainingData"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainingData":{"role":"symbol","title":"IBTrainingData","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTrainingData"}],"abstract":[{"type":"text","text":"训练数据模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainingData","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBTrainingData"}],"url":"\/documentation\/iotbluetooth\/ibtrainingdata"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainingData/calorie":{"role":"symbol","title":"calorie","fragments":[{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"calorie"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"实时训练卡路里,单位kcal"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainingData\/calorie","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtrainingdata\/calorie"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"description"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":" { "},{"kind":"keyword","text":"get"},{"kind":"text","text":" }"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibtrainingdata\/description"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainingData\/description","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"description"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"title":"description","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth14IBTrainingDataV11descriptionSSvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainingData"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainingData/description":{"role":"symbol","title":"description","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"description"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainingData\/description","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtrainingdata\/description"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainingData":{"role":"symbol","title":"IBTrainingData","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTrainingData"}],"abstract":[{"type":"text","text":"训练数据模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainingData","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBTrainingData"}],"url":"\/documentation\/iotbluetooth\/ibtrainingdata"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"distance"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibtrainingdata\/distance"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainingData\/distance","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"实时训练距离,单位米"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"distance"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"distance","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth14IBTrainingDataV8distanceSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainingData"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainingData/distance":{"role":"symbol","title":"distance","fragments":[{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"distance"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"实时训练距离,单位米"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainingData\/distance","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtrainingdata\/distance"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainingData":{"role":"symbol","title":"IBTrainingData","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTrainingData"}],"abstract":[{"type":"text","text":"训练数据模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainingData","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBTrainingData"}],"url":"\/documentation\/iotbluetooth\/ibtrainingdata"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"heartRate"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibtrainingdata\/heartrate"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainingData\/heartRate","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"实时训练心率,单位bpm"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"heartRate"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"heartRate","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth14IBTrainingDataV9heartRateSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainingData"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainingData":{"role":"symbol","title":"IBTrainingData","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTrainingData"}],"abstract":[{"type":"text","text":"训练数据模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainingData","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBTrainingData"}],"url":"\/documentation\/iotbluetooth\/ibtrainingdata"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainingData/heartRate":{"role":"symbol","title":"heartRate","fragments":[{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"heartRate"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"实时训练心率,单位bpm"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainingData\/heartRate","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtrainingdata\/heartrate"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"intensity"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"content","content":[{"anchor":"discussion","level":2,"type":"heading","text":"Discussion"},{"type":"unorderedList","items":[{"content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"0:较低强度"}]}]},{"content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"1:中等强度"}]}]},{"content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"2:高等强度"}]}]},{"content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"3:超高强度"}]}]}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibtrainingdata\/intensity"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainingData\/intensity","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"实时训练强度"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"intensity"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"intensity","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth14IBTrainingDataV9intensitySivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainingData"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainingData/intensity":{"role":"symbol","title":"intensity","fragments":[{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"intensity"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"实时训练强度"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainingData\/intensity","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtrainingdata\/intensity"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainingData":{"role":"symbol","title":"IBTrainingData","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTrainingData"}],"abstract":[{"type":"text","text":"训练数据模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainingData","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBTrainingData"}],"url":"\/documentation\/iotbluetooth\/ibtrainingdata"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"startTime"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibtrainingdata\/starttime"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainingData\/startTime","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"训练开始时间(时间戳)"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"startTime"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"startTime","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth14IBTrainingDataV9startTimeSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainingData"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainingData/startTime":{"role":"symbol","title":"startTime","fragments":[{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"startTime"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"训练开始时间(时间戳)"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainingData\/startTime","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtrainingdata\/starttime"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainingData":{"role":"symbol","title":"IBTrainingData","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTrainingData"}],"abstract":[{"type":"text","text":"训练数据模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainingData","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBTrainingData"}],"url":"\/documentation\/iotbluetooth\/ibtrainingdata"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"stepCount"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibtrainingdata\/stepcount"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainingData\/stepCount","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"实时训练步数,单位步"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"stepCount"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"stepCount","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth14IBTrainingDataV9stepCountSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainingData"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainingData/stepCount":{"role":"symbol","title":"stepCount","fragments":[{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"stepCount"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"实时训练步数,单位步"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainingData\/stepCount","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtrainingdata\/stepcount"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainingData":{"role":"symbol","title":"IBTrainingData","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTrainingData"}],"abstract":[{"type":"text","text":"训练数据模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainingData","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBTrainingData"}],"url":"\/documentation\/iotbluetooth\/ibtrainingdata"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTrainTarget"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibtraintarget"],"traits":[{"interfaceLanguage":"swift"}]}],"relationshipsSections":[{"identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/Se","doc:\/\/com.thisiot.IOTBluetooth\/SE"],"kind":"relationships","title":"Conforms To","type":"conformsTo"}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTarget","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"训练目标设置模型"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTrainTarget"}],"title":"IBTrainTarget","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:12IOTBluetooth13IBTrainTargetC","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBTrainTarget"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"topicSections":[{"title":"Initializers","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTarget\/init()","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTarget\/init(from:)"]},{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTarget\/calorie","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTarget\/distance","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTarget\/step","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTarget\/time","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTarget\/type"]}],"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTarget/distance":{"role":"symbol","title":"distance","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"distance"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"目标距离,单位米"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTarget\/distance","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtraintarget\/distance"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTarget/init(from:)":{"role":"symbol","title":"init(from:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTarget\/init(from:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtraintarget\/init(from:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/SE":{"type":"unresolvable","title":"Swift.Encodable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/SE"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTarget/calorie":{"role":"symbol","title":"calorie","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"calorie"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"目标卡路里,单位kcal"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTarget\/calorie","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtraintarget\/calorie"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTarget":{"role":"symbol","title":"IBTrainTarget","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTrainTarget"}],"abstract":[{"type":"text","text":"训练目标设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTarget","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBTrainTarget"}],"url":"\/documentation\/iotbluetooth\/ibtraintarget"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTarget/step":{"role":"symbol","title":"step","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"step"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"目标步数,单位步"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTarget\/step","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtraintarget\/step"},"doc://com.thisiot.IOTBluetooth/Se":{"type":"unresolvable","title":"Swift.Decodable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/Se"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTarget/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTarget\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtraintarget\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTarget/time":{"role":"symbol","title":"time","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"time"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"目标时间,单位分钟"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTarget\/time","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtraintarget\/time"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTarget/type":{"role":"symbol","title":"type","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"type"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBTrainTargetType","preciseIdentifier":"s:12IOTBluetooth17IBTrainTargetTypeO"}],"abstract":[{"type":"text","text":"目标类型,对应的类型,设置对应的值"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTarget\/type","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtraintarget\/type"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"calorie"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibtraintarget\/calorie"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTarget\/calorie","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"目标卡路里,单位kcal"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"calorie"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"title":"calorie","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth13IBTrainTargetC7calorieSiSgvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTarget"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTarget":{"role":"symbol","title":"IBTrainTarget","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTrainTarget"}],"abstract":[{"type":"text","text":"训练目标设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTarget","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBTrainTarget"}],"url":"\/documentation\/iotbluetooth\/ibtraintarget"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTarget/calorie":{"role":"symbol","title":"calorie","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"calorie"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"目标卡路里,单位kcal"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTarget\/calorie","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtraintarget\/calorie"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"distance"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibtraintarget\/distance"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTarget\/distance","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"目标距离,单位米"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"distance"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"title":"distance","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth13IBTrainTargetC8distanceSiSgvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTarget"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTarget/distance":{"role":"symbol","title":"distance","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"distance"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"目标距离,单位米"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTarget\/distance","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtraintarget\/distance"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTarget":{"role":"symbol","title":"IBTrainTarget","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTrainTarget"}],"abstract":[{"type":"text","text":"训练目标设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTarget","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBTrainTarget"}],"url":"\/documentation\/iotbluetooth\/ibtraintarget"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"()"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibtraintarget\/init()"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTarget\/init()","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"title":"init()","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth13IBTrainTargetCACycfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTarget"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTarget/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTarget\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtraintarget\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTarget":{"role":"symbol","title":"IBTrainTarget","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTrainTarget"}],"abstract":[{"type":"text","text":"训练目标设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTarget","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBTrainTarget"}],"url":"\/documentation\/iotbluetooth\/ibtraintarget"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":" "},{"kind":"internalParam","text":"decoder"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibtraintarget\/init(from:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTarget\/init(from:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"Decodable.init(from:)"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"title":"init(from:)","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth13IBTrainTargetC4fromACs7Decoder_p_tKcfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTarget"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTarget":{"role":"symbol","title":"IBTrainTarget","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTrainTarget"}],"abstract":[{"type":"text","text":"训练目标设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTarget","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBTrainTarget"}],"url":"\/documentation\/iotbluetooth\/ibtraintarget"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTarget/init(from:)":{"role":"symbol","title":"init(from:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTarget\/init(from:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtraintarget\/init(from:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"step"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibtraintarget\/step"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTarget\/step","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"目标步数,单位步"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"step"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"title":"step","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth13IBTrainTargetC4stepSiSgvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTarget"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTarget/step":{"role":"symbol","title":"step","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"step"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"目标步数,单位步"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTarget\/step","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtraintarget\/step"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTarget":{"role":"symbol","title":"IBTrainTarget","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTrainTarget"}],"abstract":[{"type":"text","text":"训练目标设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTarget","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBTrainTarget"}],"url":"\/documentation\/iotbluetooth\/ibtraintarget"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"time"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibtraintarget\/time"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTarget\/time","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"目标时间,单位分钟"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"time"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"title":"time","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth13IBTrainTargetC4timeSiSgvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTarget"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTarget/time":{"role":"symbol","title":"time","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"time"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"目标时间,单位分钟"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTarget\/time","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtraintarget\/time"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTarget":{"role":"symbol","title":"IBTrainTarget","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTrainTarget"}],"abstract":[{"type":"text","text":"训练目标设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTarget","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBTrainTarget"}],"url":"\/documentation\/iotbluetooth\/ibtraintarget"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"type"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType","preciseIdentifier":"s:12IOTBluetooth17IBTrainTargetTypeO","text":"IBTrainTargetType"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibtraintarget\/type"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTarget\/type","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"目标类型,对应的类型,设置对应的值"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"type"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBTrainTargetType","preciseIdentifier":"s:12IOTBluetooth17IBTrainTargetTypeO"}],"title":"type","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth13IBTrainTargetC4typeAA0bC4TypeOvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTarget"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTargetType":{"role":"symbol","title":"IBTrainTargetType","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTrainTargetType"}],"abstract":[{"type":"text","text":"提醒频率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBTrainTargetType"}],"url":"\/documentation\/iotbluetooth\/ibtraintargettype"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTarget":{"role":"symbol","title":"IBTrainTarget","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTrainTarget"}],"abstract":[{"type":"text","text":"训练目标设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTarget","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBTrainTarget"}],"url":"\/documentation\/iotbluetooth\/ibtraintarget"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTarget/type":{"role":"symbol","title":"type","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"type"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBTrainTargetType","preciseIdentifier":"s:12IOTBluetooth17IBTrainTargetTypeO"}],"abstract":[{"type":"text","text":"目标类型,对应的类型,设置对应的值"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTarget\/type","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtraintarget\/type"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTrainTargetType"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibtraintargettype"],"traits":[{"interfaceLanguage":"swift"}]}],"relationshipsSections":[{"identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/Se","doc:\/\/com.thisiot.IOTBluetooth\/SE","doc:\/\/com.thisiot.IOTBluetooth\/SQ","doc:\/\/com.thisiot.IOTBluetooth\/SH","doc:\/\/com.thisiot.IOTBluetooth\/SY"],"kind":"relationships","title":"Conforms To","type":"conformsTo"}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"提醒频率"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTrainTargetType"}],"title":"IBTrainTargetType","roleHeading":"Enumeration","role":"symbol","symbolKind":"enum","externalID":"s:12IOTBluetooth17IBTrainTargetTypeO","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBTrainTargetType"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"topicSections":[{"title":"Enumeration Cases","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType\/calorie","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType\/distance","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType\/step","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType\/time"]},{"title":"Initializers","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType\/init(rawValue:)"]},{"title":"Default Implementations","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType\/Equatable-Implementations","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType\/RawRepresentable-Implementations"],"generated":true}],"references":{"doc://com.thisiot.IOTBluetooth/Se":{"type":"unresolvable","title":"Swift.Decodable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/Se"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTargetType/distance":{"role":"symbol","title":"IBTrainTargetType.distance","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"distance"}],"abstract":[{"type":"text","text":"距离"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType\/distance","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtraintargettype\/distance"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTargetType/init(rawValue:)":{"role":"symbol","title":"init(rawValue:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"?("},{"kind":"externalParam","text":"rawValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType\/init(rawValue:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtraintargettype\/init(rawvalue:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTargetType/Equatable-Implementations":{"role":"collectionGroup","title":"Equatable Implementations","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType\/Equatable-Implementations","kind":"article","type":"topic","url":"\/documentation\/iotbluetooth\/ibtraintargettype\/equatable-implementations"},"doc://com.thisiot.IOTBluetooth/SQ":{"type":"unresolvable","title":"Swift.Equatable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/SQ"},"doc://com.thisiot.IOTBluetooth/SY":{"type":"unresolvable","title":"Swift.RawRepresentable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/SY"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTargetType/calorie":{"role":"symbol","title":"IBTrainTargetType.calorie","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"calorie"}],"abstract":[{"type":"text","text":"卡路里"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType\/calorie","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtraintargettype\/calorie"},"doc://com.thisiot.IOTBluetooth/SH":{"type":"unresolvable","title":"Swift.Hashable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/SH"},"doc://com.thisiot.IOTBluetooth/SE":{"type":"unresolvable","title":"Swift.Encodable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/SE"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTargetType/RawRepresentable-Implementations":{"role":"collectionGroup","title":"RawRepresentable Implementations","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType\/RawRepresentable-Implementations","kind":"article","type":"topic","url":"\/documentation\/iotbluetooth\/ibtraintargettype\/rawrepresentable-implementations"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTargetType/step":{"role":"symbol","title":"IBTrainTargetType.step","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"step"}],"abstract":[{"type":"text","text":"步数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType\/step","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtraintargettype\/step"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTargetType/time":{"role":"symbol","title":"IBTrainTargetType.time","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"time"}],"abstract":[{"type":"text","text":"时间"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType\/time","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtraintargettype\/time"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTargetType":{"role":"symbol","title":"IBTrainTargetType","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTrainTargetType"}],"abstract":[{"type":"text","text":"提醒频率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBTrainTargetType"}],"url":"\/documentation\/iotbluetooth\/ibtraintargettype"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"!="},{"kind":"text","text":" "},{"kind":"text","text":"("},{"kind":"internalParam","text":"lhs"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":", "},{"kind":"internalParam","text":"rhs"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibtraintargettype\/!=(_:_:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType\/!=(_:_:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"Equatable.!=(_:_:)"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"role":"symbol","title":"!=(_:_:)","roleHeading":"Operator","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"!="},{"kind":"text","text":" "},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":", "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"symbolKind":"op","externalID":"s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:12IOTBluetooth17IBTrainTargetTypeO","extendedModule":"Swift","modules":[{"name":"IOTBluetooth","relatedModules":["Swift"]}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType\/Equatable-Implementations"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTargetType":{"role":"symbol","title":"IBTrainTargetType","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTrainTargetType"}],"abstract":[{"type":"text","text":"提醒频率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBTrainTargetType"}],"url":"\/documentation\/iotbluetooth\/ibtraintargettype"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTargetType/!=(_:_:)":{"role":"symbol","title":"!=(_:_:)","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"!="},{"kind":"text","text":" "},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":", "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType\/!=(_:_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtraintargettype\/!=(_:_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTargetType/Equatable-Implementations":{"role":"collectionGroup","title":"Equatable Implementations","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType\/Equatable-Implementations","kind":"article","type":"topic","url":"\/documentation\/iotbluetooth\/ibtraintargettype\/equatable-implementations"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"calorie"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibtraintargettype\/calorie"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType\/calorie","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"卡路里"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"calorie"}],"title":"IBTrainTargetType.calorie","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth17IBTrainTargetTypeO7calorieyA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTargetType/calorie":{"role":"symbol","title":"IBTrainTargetType.calorie","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"calorie"}],"abstract":[{"type":"text","text":"卡路里"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType\/calorie","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtraintargettype\/calorie"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTargetType":{"role":"symbol","title":"IBTrainTargetType","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTrainTargetType"}],"abstract":[{"type":"text","text":"提醒频率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBTrainTargetType"}],"url":"\/documentation\/iotbluetooth\/ibtraintargettype"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"distance"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibtraintargettype\/distance"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType\/distance","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"距离"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"distance"}],"title":"IBTrainTargetType.distance","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth17IBTrainTargetTypeO8distanceyA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTargetType":{"role":"symbol","title":"IBTrainTargetType","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTrainTargetType"}],"abstract":[{"type":"text","text":"提醒频率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBTrainTargetType"}],"url":"\/documentation\/iotbluetooth\/ibtraintargettype"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTargetType/distance":{"role":"symbol","title":"IBTrainTargetType.distance","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"distance"}],"abstract":[{"type":"text","text":"距离"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType\/distance","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtraintargettype\/distance"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"encode"},{"kind":"text","text":"("},{"kind":"externalParam","text":"to"},{"kind":"text","text":" "},{"kind":"internalParam","text":"encoder"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Encoder","preciseIdentifier":"s:s7EncoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibtraintargettype\/encode(to:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType\/encode(to:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"RawRepresentable.encode(to:)"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Encodable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" is "},{"type":"codeVoice","code":"Int"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"encode(to:)","roleHeading":"Instance Method","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"encode"},{"kind":"text","text":"("},{"kind":"externalParam","text":"to"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Encoder","preciseIdentifier":"s:s7EncoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"symbolKind":"method","externalID":"s:SYsSERzSi8RawValueSYRtzrlE6encode2toys7Encoder_p_tKF::SYNTHESIZED::s:12IOTBluetooth17IBTrainTargetTypeO","extendedModule":"Swift","modules":[{"name":"IOTBluetooth","relatedModules":["Swift"]}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType\/RawRepresentable-Implementations"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTargetType/encode(to:)":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Encodable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" is "},{"type":"codeVoice","code":"Int"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"encode(to:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"encode"},{"kind":"text","text":"("},{"kind":"externalParam","text":"to"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Encoder","preciseIdentifier":"s:s7EncoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType\/encode(to:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtraintargettype\/encode(to:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTargetType/RawRepresentable-Implementations":{"role":"collectionGroup","title":"RawRepresentable Implementations","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType\/RawRepresentable-Implementations","kind":"article","type":"topic","url":"\/documentation\/iotbluetooth\/ibtraintargettype\/rawrepresentable-implementations"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTargetType":{"role":"symbol","title":"IBTrainTargetType","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTrainTargetType"}],"abstract":[{"type":"text","text":"提醒频率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBTrainTargetType"}],"url":"\/documentation\/iotbluetooth\/ibtraintargettype"}}}
\ No newline at end of file
--- /dev/null
+{"variants":[{"paths":["\/documentation\/iotbluetooth\/ibtraintargettype\/equatable-implementations"],"traits":[{"interfaceLanguage":"swift"}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType\/Equatable-Implementations","interfaceLanguage":"swift"},"topicSections":[{"title":"Operators","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType\/!=(_:_:)"],"generated":true}],"kind":"article","metadata":{"modules":[{"name":"IOTBluetooth"}],"role":"collectionGroup","title":"Equatable Implementations"},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTargetType":{"role":"symbol","title":"IBTrainTargetType","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTrainTargetType"}],"abstract":[{"type":"text","text":"提醒频率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBTrainTargetType"}],"url":"\/documentation\/iotbluetooth\/ibtraintargettype"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTargetType/!=(_:_:)":{"role":"symbol","title":"!=(_:_:)","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"!="},{"kind":"text","text":" "},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":", "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType\/!=(_:_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtraintargettype\/!=(_:_:)"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"hash"},{"kind":"text","text":"("},{"kind":"externalParam","text":"into"},{"kind":"text","text":" "},{"kind":"internalParam","text":"hasher"},{"kind":"text","text":": "},{"kind":"keyword","text":"inout"},{"kind":"text","text":" "},{"kind":"typeIdentifier","text":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibtraintargettype\/hash(into:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType\/hash(into:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"RawRepresentable.hash(into:)"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"hash(into:)","roleHeading":"Instance Method","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"hash"},{"kind":"text","text":"("},{"kind":"externalParam","text":"into"},{"kind":"text","text":": "},{"kind":"keyword","text":"inout"},{"kind":"text","text":" "},{"kind":"typeIdentifier","text":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","text":")"}],"symbolKind":"method","externalID":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF::SYNTHESIZED::s:12IOTBluetooth17IBTrainTargetTypeO","extendedModule":"Swift","modules":[{"name":"IOTBluetooth","relatedModules":["Swift"]}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType\/RawRepresentable-Implementations"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTargetType/RawRepresentable-Implementations":{"role":"collectionGroup","title":"RawRepresentable Implementations","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType\/RawRepresentable-Implementations","kind":"article","type":"topic","url":"\/documentation\/iotbluetooth\/ibtraintargettype\/rawrepresentable-implementations"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTargetType":{"role":"symbol","title":"IBTrainTargetType","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTrainTargetType"}],"abstract":[{"type":"text","text":"提醒频率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBTrainTargetType"}],"url":"\/documentation\/iotbluetooth\/ibtraintargettype"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTargetType/hash(into:)":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"hash(into:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"hash"},{"kind":"text","text":"("},{"kind":"externalParam","text":"into"},{"kind":"text","text":": "},{"kind":"keyword","text":"inout"},{"kind":"text","text":" "},{"kind":"typeIdentifier","text":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","text":")"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType\/hash(into:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtraintargettype\/hash(into:)"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"hashValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":" { "},{"kind":"keyword","text":"get"},{"kind":"text","text":" }"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibtraintargettype\/hashvalue"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType\/hashValue","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"RawRepresentable.hashValue"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"hashValue","roleHeading":"Instance Property","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"hashValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"symbolKind":"property","externalID":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:12IOTBluetooth17IBTrainTargetTypeO","extendedModule":"Swift","modules":[{"name":"IOTBluetooth","relatedModules":["Swift"]}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType\/RawRepresentable-Implementations"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTargetType":{"role":"symbol","title":"IBTrainTargetType","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTrainTargetType"}],"abstract":[{"type":"text","text":"提醒频率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBTrainTargetType"}],"url":"\/documentation\/iotbluetooth\/ibtraintargettype"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTargetType/hashValue":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"hashValue","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"hashValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType\/hashValue","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtraintargettype\/hashvalue"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTargetType/RawRepresentable-Implementations":{"role":"collectionGroup","title":"RawRepresentable Implementations","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType\/RawRepresentable-Implementations","kind":"article","type":"topic","url":"\/documentation\/iotbluetooth\/ibtraintargettype\/rawrepresentable-implementations"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":" "},{"kind":"internalParam","text":"decoder"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibtraintargettype\/init(from:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType\/init(from:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"RawRepresentable.init(from:)"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Decodable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" is "},{"type":"codeVoice","code":"Int"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"init(from:)","roleHeading":"Initializer","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"symbolKind":"init","externalID":"s:SYsSeRzSi8RawValueSYRtzrlE4fromxs7Decoder_p_tKcfc::SYNTHESIZED::s:12IOTBluetooth17IBTrainTargetTypeO","extendedModule":"Swift","modules":[{"name":"IOTBluetooth","relatedModules":["Swift"]}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType\/RawRepresentable-Implementations"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTargetType/RawRepresentable-Implementations":{"role":"collectionGroup","title":"RawRepresentable Implementations","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType\/RawRepresentable-Implementations","kind":"article","type":"topic","url":"\/documentation\/iotbluetooth\/ibtraintargettype\/rawrepresentable-implementations"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTargetType/init(from:)":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Decodable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" is "},{"type":"codeVoice","code":"Int"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"init(from:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType\/init(from:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtraintargettype\/init(from:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTargetType":{"role":"symbol","title":"IBTrainTargetType","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTrainTargetType"}],"abstract":[{"type":"text","text":"提醒频率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBTrainTargetType"}],"url":"\/documentation\/iotbluetooth\/ibtraintargettype"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"?("},{"kind":"externalParam","text":"rawValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibtraintargettype\/init(rawvalue:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType\/init(rawValue:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"RawRepresentable.init(rawValue:)"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"?("},{"kind":"externalParam","text":"rawValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}],"title":"init(rawValue:)","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth17IBTrainTargetTypeO8rawValueACSgSi_tcfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTargetType/init(rawValue:)":{"role":"symbol","title":"init(rawValue:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"?("},{"kind":"externalParam","text":"rawValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType\/init(rawValue:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtraintargettype\/init(rawvalue:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTargetType":{"role":"symbol","title":"IBTrainTargetType","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTrainTargetType"}],"abstract":[{"type":"text","text":"提醒频率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBTrainTargetType"}],"url":"\/documentation\/iotbluetooth\/ibtraintargettype"}}}
\ No newline at end of file
--- /dev/null
+{"variants":[{"paths":["\/documentation\/iotbluetooth\/ibtraintargettype\/rawrepresentable-implementations"],"traits":[{"interfaceLanguage":"swift"}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType\/RawRepresentable-Implementations","interfaceLanguage":"swift"},"topicSections":[{"title":"Initializers","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType\/init(from:)"],"generated":true},{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType\/hashValue"],"generated":true},{"title":"Instance Methods","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType\/encode(to:)","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType\/hash(into:)"],"generated":true}],"kind":"article","metadata":{"modules":[{"name":"IOTBluetooth"}],"role":"collectionGroup","title":"RawRepresentable Implementations"},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTargetType/encode(to:)":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Encodable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" is "},{"type":"codeVoice","code":"Int"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"encode(to:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"encode"},{"kind":"text","text":"("},{"kind":"externalParam","text":"to"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Encoder","preciseIdentifier":"s:s7EncoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType\/encode(to:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtraintargettype\/encode(to:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTargetType/hashValue":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"hashValue","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"hashValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType\/hashValue","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtraintargettype\/hashvalue"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTargetType/init(from:)":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Decodable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" is "},{"type":"codeVoice","code":"Int"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"init(from:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType\/init(from:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtraintargettype\/init(from:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTargetType":{"role":"symbol","title":"IBTrainTargetType","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTrainTargetType"}],"abstract":[{"type":"text","text":"提醒频率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBTrainTargetType"}],"url":"\/documentation\/iotbluetooth\/ibtraintargettype"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTargetType/hash(into:)":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"hash(into:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"hash"},{"kind":"text","text":"("},{"kind":"externalParam","text":"into"},{"kind":"text","text":": "},{"kind":"keyword","text":"inout"},{"kind":"text","text":" "},{"kind":"typeIdentifier","text":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","text":")"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType\/hash(into:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtraintargettype\/hash(into:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"step"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibtraintargettype\/step"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType\/step","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"步数"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"step"}],"title":"IBTrainTargetType.step","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth17IBTrainTargetTypeO4stepyA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTargetType/step":{"role":"symbol","title":"IBTrainTargetType.step","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"step"}],"abstract":[{"type":"text","text":"步数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType\/step","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtraintargettype\/step"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTargetType":{"role":"symbol","title":"IBTrainTargetType","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTrainTargetType"}],"abstract":[{"type":"text","text":"提醒频率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBTrainTargetType"}],"url":"\/documentation\/iotbluetooth\/ibtraintargettype"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"time"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibtraintargettype\/time"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType\/time","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"时间"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"time"}],"title":"IBTrainTargetType.time","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:12IOTBluetooth17IBTrainTargetTypeO4timeyA2CmF","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTargetType/time":{"role":"symbol","title":"IBTrainTargetType.time","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"time"}],"abstract":[{"type":"text","text":"时间"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType\/time","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibtraintargettype\/time"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTrainTargetType":{"role":"symbol","title":"IBTrainTargetType","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTrainTargetType"}],"abstract":[{"type":"text","text":"提醒频率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTrainTargetType","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBTrainTargetType"}],"url":"\/documentation\/iotbluetooth\/ibtraintargettype"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBUserInfo"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibuserinfo"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"用户数据模型"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBUserInfo"}],"title":"IBUserInfo","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:12IOTBluetooth10IBUserInfoC","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBUserInfo"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"topicSections":[{"title":"Initializers","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo\/init()"]},{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo\/age","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo\/burning","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo\/description","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo\/gender","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo\/height","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo\/hourSystem","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo\/stand","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo\/step","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo\/weight"]}],"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBUserInfo/step":{"role":"symbol","title":"step","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"step"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"目标步数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo\/step","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibuserinfo\/step"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBUserInfo/gender":{"role":"symbol","title":"gender","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"gender"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"性别 0:男性 1:女性"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo\/gender","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibuserinfo\/gender"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBUserInfo":{"role":"symbol","title":"IBUserInfo","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBUserInfo"}],"abstract":[{"type":"text","text":"用户数据模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBUserInfo"}],"url":"\/documentation\/iotbluetooth\/ibuserinfo"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBUserInfo/height":{"role":"symbol","title":"height","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"height"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"身高, 单位cm"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo\/height","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibuserinfo\/height"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBUserInfo/age":{"role":"symbol","title":"age","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"age"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"年龄"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo\/age","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibuserinfo\/age"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBUserInfo/stand":{"role":"symbol","title":"stand","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"stand"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"目标站立次数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo\/stand","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibuserinfo\/stand"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBUserInfo/hourSystem":{"role":"symbol","title":"hourSystem","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"hourSystem"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"时制 0:24小时制 1:12小时制"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo\/hourSystem","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibuserinfo\/hoursystem"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBUserInfo/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibuserinfo\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBUserInfo/weight":{"role":"symbol","title":"weight","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"weight"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"体重, 单位kg"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo\/weight","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibuserinfo\/weight"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBUserInfo/description":{"role":"symbol","title":"description","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"description"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo\/description","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibuserinfo\/description"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBUserInfo/burning":{"role":"symbol","title":"burning","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"burning"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"目标燃脂时间,单位分钟"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo\/burning","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibuserinfo\/burning"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"age"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibuserinfo\/age"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo\/age","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"年龄"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"age"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"age","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth10IBUserInfoC3ageSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBUserInfo":{"role":"symbol","title":"IBUserInfo","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBUserInfo"}],"abstract":[{"type":"text","text":"用户数据模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBUserInfo"}],"url":"\/documentation\/iotbluetooth\/ibuserinfo"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBUserInfo/age":{"role":"symbol","title":"age","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"age"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"年龄"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo\/age","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibuserinfo\/age"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"burning"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibuserinfo\/burning"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo\/burning","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"目标燃脂时间,单位分钟"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"burning"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"burning","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth10IBUserInfoC7burningSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBUserInfo":{"role":"symbol","title":"IBUserInfo","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBUserInfo"}],"abstract":[{"type":"text","text":"用户数据模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBUserInfo"}],"url":"\/documentation\/iotbluetooth\/ibuserinfo"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBUserInfo/burning":{"role":"symbol","title":"burning","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"burning"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"目标燃脂时间,单位分钟"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo\/burning","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibuserinfo\/burning"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"description"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":" { "},{"kind":"keyword","text":"get"},{"kind":"text","text":" }"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibuserinfo\/description"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo\/description","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"description"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"title":"description","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth10IBUserInfoC11descriptionSSvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBUserInfo/description":{"role":"symbol","title":"description","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"description"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo\/description","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibuserinfo\/description"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBUserInfo":{"role":"symbol","title":"IBUserInfo","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBUserInfo"}],"abstract":[{"type":"text","text":"用户数据模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBUserInfo"}],"url":"\/documentation\/iotbluetooth\/ibuserinfo"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"gender"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibuserinfo\/gender"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo\/gender","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"性别 0:男性 1:女性"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"gender"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"gender","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth10IBUserInfoC6genderSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBUserInfo/gender":{"role":"symbol","title":"gender","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"gender"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"性别 0:男性 1:女性"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo\/gender","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibuserinfo\/gender"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBUserInfo":{"role":"symbol","title":"IBUserInfo","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBUserInfo"}],"abstract":[{"type":"text","text":"用户数据模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBUserInfo"}],"url":"\/documentation\/iotbluetooth\/ibuserinfo"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"height"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibuserinfo\/height"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo\/height","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"身高, 单位cm"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"height"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"height","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth10IBUserInfoC6heightSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBUserInfo/height":{"role":"symbol","title":"height","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"height"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"身高, 单位cm"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo\/height","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibuserinfo\/height"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBUserInfo":{"role":"symbol","title":"IBUserInfo","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBUserInfo"}],"abstract":[{"type":"text","text":"用户数据模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBUserInfo"}],"url":"\/documentation\/iotbluetooth\/ibuserinfo"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"hourSystem"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibuserinfo\/hoursystem"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo\/hourSystem","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"时制 0:24小时制 1:12小时制"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"hourSystem"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"hourSystem","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth10IBUserInfoC10hourSystemSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBUserInfo":{"role":"symbol","title":"IBUserInfo","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBUserInfo"}],"abstract":[{"type":"text","text":"用户数据模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBUserInfo"}],"url":"\/documentation\/iotbluetooth\/ibuserinfo"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBUserInfo/hourSystem":{"role":"symbol","title":"hourSystem","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"hourSystem"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"时制 0:24小时制 1:12小时制"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo\/hourSystem","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibuserinfo\/hoursystem"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"()"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibuserinfo\/init()"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo\/init()","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"title":"init()","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth10IBUserInfoCACycfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBUserInfo":{"role":"symbol","title":"IBUserInfo","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBUserInfo"}],"abstract":[{"type":"text","text":"用户数据模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBUserInfo"}],"url":"\/documentation\/iotbluetooth\/ibuserinfo"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBUserInfo/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibuserinfo\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"stand"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibuserinfo\/stand"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo\/stand","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"目标站立次数"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"stand"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"stand","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth10IBUserInfoC5standSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBUserInfo":{"role":"symbol","title":"IBUserInfo","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBUserInfo"}],"abstract":[{"type":"text","text":"用户数据模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBUserInfo"}],"url":"\/documentation\/iotbluetooth\/ibuserinfo"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBUserInfo/stand":{"role":"symbol","title":"stand","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"stand"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"目标站立次数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo\/stand","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibuserinfo\/stand"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"step"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibuserinfo\/step"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo\/step","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"目标步数"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"step"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"step","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth10IBUserInfoC4stepSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBUserInfo":{"role":"symbol","title":"IBUserInfo","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBUserInfo"}],"abstract":[{"type":"text","text":"用户数据模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBUserInfo"}],"url":"\/documentation\/iotbluetooth\/ibuserinfo"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBUserInfo/step":{"role":"symbol","title":"step","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"step"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"目标步数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo\/step","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibuserinfo\/step"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"weight"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibuserinfo\/weight"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo\/weight","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"体重, 单位kg"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"weight"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"weight","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth10IBUserInfoC6weightSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBUserInfo":{"role":"symbol","title":"IBUserInfo","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBUserInfo"}],"abstract":[{"type":"text","text":"用户数据模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBUserInfo"}],"url":"\/documentation\/iotbluetooth\/ibuserinfo"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBUserInfo/weight":{"role":"symbol","title":"weight","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"weight"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"体重, 单位kg"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBUserInfo\/weight","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibuserinfo\/weight"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBVibrateConfig"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibvibrateconfig"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateConfig","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"声音震动设置模型"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBVibrateConfig"}],"title":"IBVibrateConfig","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:12IOTBluetooth15IBVibrateConfigC","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBVibrateConfig"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"topicSections":[{"title":"Initializers","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateConfig\/init()"]},{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateConfig\/ringsState","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateConfig\/ringsValue","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateConfig\/systemValue","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateConfig\/type","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateConfig\/vibrateState"]}],"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBVibrateConfig":{"role":"symbol","title":"IBVibrateConfig","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBVibrateConfig"}],"abstract":[{"type":"text","text":"声音震动设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateConfig","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBVibrateConfig"}],"url":"\/documentation\/iotbluetooth\/ibvibrateconfig"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBVibrateConfig/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateConfig\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibvibrateconfig\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBVibrateConfig/type":{"role":"symbol","title":"type","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"type"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"类型 0系统音量调节,1铃声音量调节,3铃声开关,震动开关"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateConfig\/type","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibvibrateconfig\/type"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBVibrateConfig/vibrateState":{"role":"symbol","title":"vibrateState","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"vibrateState"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"震动设置 0:关闭 1:弱 2:中 3:强 (type为3设置)"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateConfig\/vibrateState","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibvibrateconfig\/vibratestate"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBVibrateConfig/ringsValue":{"role":"symbol","title":"ringsValue","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"ringsValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"铃声音量调节0~100(type为1设置)"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateConfig\/ringsValue","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibvibrateconfig\/ringsvalue"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBVibrateConfig/ringsState":{"role":"symbol","title":"ringsState","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"ringsState"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"静音开关0:关闭 1:开启(type为3设置)"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateConfig\/ringsState","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibvibrateconfig\/ringsstate"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBVibrateConfig/systemValue":{"role":"symbol","title":"systemValue","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"systemValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"系统音量调节0~100(type为0设置)"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateConfig\/systemValue","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibvibrateconfig\/systemvalue"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"()"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibvibrateconfig\/init()"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateConfig\/init()","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"title":"init()","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth15IBVibrateConfigCACycfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateConfig"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBVibrateConfig/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateConfig\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibvibrateconfig\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBVibrateConfig":{"role":"symbol","title":"IBVibrateConfig","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBVibrateConfig"}],"abstract":[{"type":"text","text":"声音震动设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateConfig","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBVibrateConfig"}],"url":"\/documentation\/iotbluetooth\/ibvibrateconfig"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"ringsState"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibvibrateconfig\/ringsstate"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateConfig\/ringsState","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"静音开关0:关闭 1:开启(type为3设置)"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"ringsState"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"title":"ringsState","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth15IBVibrateConfigC10ringsStateSiSgvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateConfig"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBVibrateConfig":{"role":"symbol","title":"IBVibrateConfig","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBVibrateConfig"}],"abstract":[{"type":"text","text":"声音震动设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateConfig","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBVibrateConfig"}],"url":"\/documentation\/iotbluetooth\/ibvibrateconfig"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBVibrateConfig/ringsState":{"role":"symbol","title":"ringsState","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"ringsState"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"静音开关0:关闭 1:开启(type为3设置)"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateConfig\/ringsState","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibvibrateconfig\/ringsstate"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"ringsValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibvibrateconfig\/ringsvalue"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateConfig\/ringsValue","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"铃声音量调节0~100(type为1设置)"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"ringsValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"title":"ringsValue","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth15IBVibrateConfigC10ringsValueSiSgvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateConfig"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBVibrateConfig/ringsValue":{"role":"symbol","title":"ringsValue","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"ringsValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"铃声音量调节0~100(type为1设置)"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateConfig\/ringsValue","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibvibrateconfig\/ringsvalue"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBVibrateConfig":{"role":"symbol","title":"IBVibrateConfig","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBVibrateConfig"}],"abstract":[{"type":"text","text":"声音震动设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateConfig","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBVibrateConfig"}],"url":"\/documentation\/iotbluetooth\/ibvibrateconfig"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"systemValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibvibrateconfig\/systemvalue"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateConfig\/systemValue","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"系统音量调节0~100(type为0设置)"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"systemValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"title":"systemValue","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth15IBVibrateConfigC11systemValueSiSgvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateConfig"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBVibrateConfig/systemValue":{"role":"symbol","title":"systemValue","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"systemValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"系统音量调节0~100(type为0设置)"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateConfig\/systemValue","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibvibrateconfig\/systemvalue"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBVibrateConfig":{"role":"symbol","title":"IBVibrateConfig","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBVibrateConfig"}],"abstract":[{"type":"text","text":"声音震动设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateConfig","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBVibrateConfig"}],"url":"\/documentation\/iotbluetooth\/ibvibrateconfig"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"type"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibvibrateconfig\/type"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateConfig\/type","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"类型 0系统音量调节,1铃声音量调节,3铃声开关,震动开关"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"type"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"type","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth15IBVibrateConfigC4typeSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateConfig"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBVibrateConfig/type":{"role":"symbol","title":"type","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"type"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"类型 0系统音量调节,1铃声音量调节,3铃声开关,震动开关"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateConfig\/type","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibvibrateconfig\/type"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBVibrateConfig":{"role":"symbol","title":"IBVibrateConfig","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBVibrateConfig"}],"abstract":[{"type":"text","text":"声音震动设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateConfig","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBVibrateConfig"}],"url":"\/documentation\/iotbluetooth\/ibvibrateconfig"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"vibrateState"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibvibrateconfig\/vibratestate"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateConfig\/vibrateState","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"震动设置 0:关闭 1:弱 2:中 3:强 (type为3设置)"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"vibrateState"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"title":"vibrateState","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth15IBVibrateConfigC12vibrateStateSiSgvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateConfig"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBVibrateConfig":{"role":"symbol","title":"IBVibrateConfig","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBVibrateConfig"}],"abstract":[{"type":"text","text":"声音震动设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateConfig","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBVibrateConfig"}],"url":"\/documentation\/iotbluetooth\/ibvibrateconfig"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBVibrateConfig/vibrateState":{"role":"symbol","title":"vibrateState","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"vibrateState"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"震动设置 0:关闭 1:弱 2:中 3:强 (type为3设置)"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateConfig\/vibrateState","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibvibrateconfig\/vibratestate"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBVibrateSound"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibvibratesound"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateSound","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"声音震动模型"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBVibrateSound"}],"title":"IBVibrateSound","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:12IOTBluetooth14IBVibrateSoundC","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBVibrateSound"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"topicSections":[{"title":"Initializers","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateSound\/init()"]},{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateSound\/mediaValue","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateSound\/ringsState","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateSound\/ringsValue","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateSound\/systemValue","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateSound\/vibrateState"]}],"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBVibrateSound/ringsState":{"role":"symbol","title":"ringsState","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"ringsState"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"静音开关0:关闭 1:开启"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateSound\/ringsState","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibvibratesound\/ringsstate"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBVibrateSound/systemValue":{"role":"symbol","title":"systemValue","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"systemValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"系统音量调节0~100"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateSound\/systemValue","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibvibratesound\/systemvalue"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBVibrateSound/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateSound\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibvibratesound\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBVibrateSound/vibrateState":{"role":"symbol","title":"vibrateState","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"vibrateState"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"震动设置 0:关闭 1:弱 2:中 3:强"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateSound\/vibrateState","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibvibratesound\/vibratestate"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBVibrateSound/mediaValue":{"role":"symbol","title":"mediaValue","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"mediaValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"媒体音量调节0~100"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateSound\/mediaValue","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibvibratesound\/mediavalue"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBVibrateSound/ringsValue":{"role":"symbol","title":"ringsValue","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"ringsValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"铃声音量调节0~100"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateSound\/ringsValue","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibvibratesound\/ringsvalue"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBVibrateSound":{"role":"symbol","title":"IBVibrateSound","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBVibrateSound"}],"abstract":[{"type":"text","text":"声音震动模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateSound","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBVibrateSound"}],"url":"\/documentation\/iotbluetooth\/ibvibratesound"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"()"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibvibratesound\/init()"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateSound\/init()","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"title":"init()","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth14IBVibrateSoundCACycfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateSound"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBVibrateSound/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateSound\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibvibratesound\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBVibrateSound":{"role":"symbol","title":"IBVibrateSound","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBVibrateSound"}],"abstract":[{"type":"text","text":"声音震动模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateSound","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBVibrateSound"}],"url":"\/documentation\/iotbluetooth\/ibvibratesound"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"mediaValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibvibratesound\/mediavalue"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateSound\/mediaValue","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"媒体音量调节0~100"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"mediaValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"mediaValue","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth14IBVibrateSoundC10mediaValueSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateSound"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBVibrateSound/mediaValue":{"role":"symbol","title":"mediaValue","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"mediaValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"媒体音量调节0~100"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateSound\/mediaValue","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibvibratesound\/mediavalue"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBVibrateSound":{"role":"symbol","title":"IBVibrateSound","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBVibrateSound"}],"abstract":[{"type":"text","text":"声音震动模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateSound","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBVibrateSound"}],"url":"\/documentation\/iotbluetooth\/ibvibratesound"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"ringsState"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibvibratesound\/ringsstate"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateSound\/ringsState","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"静音开关0:关闭 1:开启"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"ringsState"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"ringsState","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth14IBVibrateSoundC10ringsStateSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateSound"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBVibrateSound":{"role":"symbol","title":"IBVibrateSound","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBVibrateSound"}],"abstract":[{"type":"text","text":"声音震动模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateSound","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBVibrateSound"}],"url":"\/documentation\/iotbluetooth\/ibvibratesound"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBVibrateSound/ringsState":{"role":"symbol","title":"ringsState","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"ringsState"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"静音开关0:关闭 1:开启"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateSound\/ringsState","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibvibratesound\/ringsstate"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"ringsValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibvibratesound\/ringsvalue"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateSound\/ringsValue","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"铃声音量调节0~100"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"ringsValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"ringsValue","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth14IBVibrateSoundC10ringsValueSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateSound"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBVibrateSound":{"role":"symbol","title":"IBVibrateSound","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBVibrateSound"}],"abstract":[{"type":"text","text":"声音震动模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateSound","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBVibrateSound"}],"url":"\/documentation\/iotbluetooth\/ibvibratesound"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBVibrateSound/ringsValue":{"role":"symbol","title":"ringsValue","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"ringsValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"铃声音量调节0~100"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateSound\/ringsValue","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibvibratesound\/ringsvalue"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"systemValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibvibratesound\/systemvalue"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateSound\/systemValue","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"系统音量调节0~100"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"systemValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"systemValue","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth14IBVibrateSoundC11systemValueSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateSound"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBVibrateSound":{"role":"symbol","title":"IBVibrateSound","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBVibrateSound"}],"abstract":[{"type":"text","text":"声音震动模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateSound","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBVibrateSound"}],"url":"\/documentation\/iotbluetooth\/ibvibratesound"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBVibrateSound/systemValue":{"role":"symbol","title":"systemValue","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"systemValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"系统音量调节0~100"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateSound\/systemValue","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibvibratesound\/systemvalue"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"vibrateState"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibvibratesound\/vibratestate"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateSound\/vibrateState","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"震动设置 0:关闭 1:弱 2:中 3:强"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"vibrateState"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"vibrateState","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth14IBVibrateSoundC12vibrateStateSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateSound"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBVibrateSound/vibrateState":{"role":"symbol","title":"vibrateState","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"vibrateState"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"震动设置 0:关闭 1:弱 2:中 3:强"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateSound\/vibrateState","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibvibratesound\/vibratestate"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBVibrateSound":{"role":"symbol","title":"IBVibrateSound","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBVibrateSound"}],"abstract":[{"type":"text","text":"声音震动模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBVibrateSound","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBVibrateSound"}],"url":"\/documentation\/iotbluetooth\/ibvibratesound"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBWater"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibwater"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWater","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"喝水提醒设置模型"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBWater"}],"title":"IBWater","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:12IOTBluetooth7IBWaterC","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBWater"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"topicSections":[{"title":"Initializers","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWater\/init()"]},{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWater\/alertState","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWater\/alertType","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWater\/drinkingValue","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWater\/end","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWater\/frequency","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWater\/start"]}],"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWater/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWater\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibwater\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWater/drinkingValue":{"role":"symbol","title":"drinkingValue","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"drinkingValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"饮水目标 500~5000ml"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWater\/drinkingValue","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibwater\/drinkingvalue"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWater/alertType":{"role":"symbol","title":"alertType","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"alertType"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"提醒方式0:每天提醒一次 1:间隔提醒"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWater\/alertType","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibwater\/alerttype"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWater/alertState":{"role":"symbol","title":"alertState","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"alertState"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"0:关闭 1:开启 为0时后面所有项目都无需设置。"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWater\/alertState","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibwater\/alertstate"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWater/frequency":{"role":"symbol","title":"frequency","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"frequency"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBFrequency","preciseIdentifier":"s:12IOTBluetooth11IBFrequencyO"}],"abstract":[{"type":"text","text":"提醒频率。仅间隔提醒需要,其他情况不填"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWater\/frequency","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibwater\/frequency"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWater/end":{"role":"symbol","title":"end","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"end"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBTimeItem","preciseIdentifier":"s:12IOTBluetooth10IBTimeItemV"}],"abstract":[{"type":"text","text":"提醒结束时间。仅间隔提醒需要,其他情况不填"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWater\/end","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibwater\/end"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWater":{"role":"symbol","title":"IBWater","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBWater"}],"abstract":[{"type":"text","text":"喝水提醒设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWater","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBWater"}],"url":"\/documentation\/iotbluetooth\/ibwater"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWater/start":{"role":"symbol","title":"start","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"start"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBTimeItem","preciseIdentifier":"s:12IOTBluetooth10IBTimeItemV"}],"abstract":[{"type":"text","text":"提醒开始时间"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWater\/start","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibwater\/start"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"alertState"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibwater\/alertstate"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWater\/alertState","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"0:关闭 1:开启 为0时后面所有项目都无需设置。"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"alertState"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"alertState","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth7IBWaterC10alertStateSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWater"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWater":{"role":"symbol","title":"IBWater","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBWater"}],"abstract":[{"type":"text","text":"喝水提醒设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWater","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBWater"}],"url":"\/documentation\/iotbluetooth\/ibwater"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWater/alertState":{"role":"symbol","title":"alertState","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"alertState"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"0:关闭 1:开启 为0时后面所有项目都无需设置。"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWater\/alertState","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibwater\/alertstate"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"alertType"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibwater\/alerttype"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWater\/alertType","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"提醒方式0:每天提醒一次 1:间隔提醒"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"alertType"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"alertType","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth7IBWaterC9alertTypeSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWater"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWater/alertType":{"role":"symbol","title":"alertType","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"alertType"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"提醒方式0:每天提醒一次 1:间隔提醒"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWater\/alertType","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibwater\/alerttype"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWater":{"role":"symbol","title":"IBWater","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBWater"}],"abstract":[{"type":"text","text":"喝水提醒设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWater","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBWater"}],"url":"\/documentation\/iotbluetooth\/ibwater"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"drinkingValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibwater\/drinkingvalue"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWater\/drinkingValue","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"饮水目标 500~5000ml"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"drinkingValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"drinkingValue","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth7IBWaterC13drinkingValueSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWater"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWater/drinkingValue":{"role":"symbol","title":"drinkingValue","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"drinkingValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"饮水目标 500~5000ml"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWater\/drinkingValue","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibwater\/drinkingvalue"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWater":{"role":"symbol","title":"IBWater","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBWater"}],"abstract":[{"type":"text","text":"喝水提醒设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWater","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBWater"}],"url":"\/documentation\/iotbluetooth\/ibwater"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"end"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTimeItem","preciseIdentifier":"s:12IOTBluetooth10IBTimeItemV","text":"IBTimeItem"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibwater\/end"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWater\/end","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"提醒结束时间。仅间隔提醒需要,其他情况不填"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"end"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBTimeItem","preciseIdentifier":"s:12IOTBluetooth10IBTimeItemV"}],"title":"end","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth7IBWaterC3endAA10IBTimeItemVvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWater"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWater/end":{"role":"symbol","title":"end","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"end"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBTimeItem","preciseIdentifier":"s:12IOTBluetooth10IBTimeItemV"}],"abstract":[{"type":"text","text":"提醒结束时间。仅间隔提醒需要,其他情况不填"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWater\/end","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibwater\/end"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWater":{"role":"symbol","title":"IBWater","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBWater"}],"abstract":[{"type":"text","text":"喝水提醒设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWater","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBWater"}],"url":"\/documentation\/iotbluetooth\/ibwater"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTimeItem":{"role":"symbol","title":"IBTimeItem","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTimeItem"}],"abstract":[{"type":"text","text":"时间"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTimeItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBTimeItem"}],"url":"\/documentation\/iotbluetooth\/ibtimeitem"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"frequency"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency","preciseIdentifier":"s:12IOTBluetooth11IBFrequencyO","text":"IBFrequency"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibwater\/frequency"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWater\/frequency","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"提醒频率。仅间隔提醒需要,其他情况不填"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"frequency"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBFrequency","preciseIdentifier":"s:12IOTBluetooth11IBFrequencyO"}],"title":"frequency","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth7IBWaterC9frequencyAA11IBFrequencyOvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWater"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBFrequency":{"role":"symbol","title":"IBFrequency","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBFrequency"}],"abstract":[{"type":"text","text":"提醒频率"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBFrequency","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBFrequency"}],"url":"\/documentation\/iotbluetooth\/ibfrequency"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWater":{"role":"symbol","title":"IBWater","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBWater"}],"abstract":[{"type":"text","text":"喝水提醒设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWater","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBWater"}],"url":"\/documentation\/iotbluetooth\/ibwater"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWater/frequency":{"role":"symbol","title":"frequency","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"frequency"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBFrequency","preciseIdentifier":"s:12IOTBluetooth11IBFrequencyO"}],"abstract":[{"type":"text","text":"提醒频率。仅间隔提醒需要,其他情况不填"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWater\/frequency","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibwater\/frequency"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"()"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibwater\/init()"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWater\/init()","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"title":"init()","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth7IBWaterCACycfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWater"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWater/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWater\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibwater\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWater":{"role":"symbol","title":"IBWater","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBWater"}],"abstract":[{"type":"text","text":"喝水提醒设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWater","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBWater"}],"url":"\/documentation\/iotbluetooth\/ibwater"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"start"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTimeItem","preciseIdentifier":"s:12IOTBluetooth10IBTimeItemV","text":"IBTimeItem"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibwater\/start"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWater\/start","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"提醒开始时间"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"start"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBTimeItem","preciseIdentifier":"s:12IOTBluetooth10IBTimeItemV"}],"title":"start","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth7IBWaterC5startAA10IBTimeItemVvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWater"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWater":{"role":"symbol","title":"IBWater","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBWater"}],"abstract":[{"type":"text","text":"喝水提醒设置模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWater","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBWater"}],"url":"\/documentation\/iotbluetooth\/ibwater"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBTimeItem":{"role":"symbol","title":"IBTimeItem","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBTimeItem"}],"abstract":[{"type":"text","text":"时间"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBTimeItem","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBTimeItem"}],"url":"\/documentation\/iotbluetooth\/ibtimeitem"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWater/start":{"role":"symbol","title":"start","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"start"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBTimeItem","preciseIdentifier":"s:12IOTBluetooth10IBTimeItemV"}],"abstract":[{"type":"text","text":"提醒开始时间"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWater\/start","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibwater\/start"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBWeather"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibweather"],"traits":[{"interfaceLanguage":"swift"}]}],"relationshipsSections":[{"identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/Se","doc:\/\/com.thisiot.IOTBluetooth\/SE"],"kind":"relationships","title":"Conforms To","type":"conformsTo"}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeather","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"天气模型"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBWeather"}],"title":"IBWeather","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:12IOTBluetooth9IBWeatherC","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBWeather"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"topicSections":[{"title":"Initializers","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeather\/init()","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeather\/init(from:)"]},{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeather\/address","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeather\/daily","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeather\/now"]}],"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeather":{"role":"symbol","title":"IBWeather","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBWeather"}],"abstract":[{"type":"text","text":"天气模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeather","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBWeather"}],"url":"\/documentation\/iotbluetooth\/ibweather"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeather/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeather\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibweather\/init()"},"doc://com.thisiot.IOTBluetooth/Se":{"type":"unresolvable","title":"Swift.Decodable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/Se"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeather/daily":{"role":"symbol","title":"daily","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"daily"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","text":"IBWeatherInfo","preciseIdentifier":"s:12IOTBluetooth13IBWeatherInfoC"},{"kind":"text","text":"]"}],"abstract":[{"type":"text","text":"七天天气信息"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeather\/daily","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibweather\/daily"},"doc://com.thisiot.IOTBluetooth/SE":{"type":"unresolvable","title":"Swift.Encodable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/SE"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeather/init(from:)":{"role":"symbol","title":"init(from:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeather\/init(from:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibweather\/init(from:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeather/now":{"role":"symbol","title":"now","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"now"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBWeatherNow","preciseIdentifier":"s:12IOTBluetooth12IBWeatherNowC"}],"abstract":[{"type":"text","text":"当前天气信息"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeather\/now","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibweather\/now"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeather/address":{"role":"symbol","title":"address","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"address"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAddress","preciseIdentifier":"s:12IOTBluetooth9IBAddressC"}],"abstract":[{"type":"text","text":"当前定位地址"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeather\/address","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibweather\/address"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"address"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddress","preciseIdentifier":"s:12IOTBluetooth9IBAddressC","text":"IBAddress"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibweather\/address"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeather\/address","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"当前定位地址"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"address"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAddress","preciseIdentifier":"s:12IOTBluetooth9IBAddressC"}],"title":"address","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth9IBWeatherC7addressAA9IBAddressCvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeather"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeather/address":{"role":"symbol","title":"address","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"address"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBAddress","preciseIdentifier":"s:12IOTBluetooth9IBAddressC"}],"abstract":[{"type":"text","text":"当前定位地址"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeather\/address","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibweather\/address"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBAddress":{"role":"symbol","title":"IBAddress","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBAddress"}],"abstract":[{"type":"text","text":"地址模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBAddress","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBAddress"}],"url":"\/documentation\/iotbluetooth\/ibaddress"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeather":{"role":"symbol","title":"IBWeather","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBWeather"}],"abstract":[{"type":"text","text":"天气模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeather","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBWeather"}],"url":"\/documentation\/iotbluetooth\/ibweather"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"daily"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherInfo","preciseIdentifier":"s:12IOTBluetooth13IBWeatherInfoC","text":"IBWeatherInfo"},{"kind":"text","text":"]"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibweather\/daily"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeather\/daily","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"七天天气信息"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"daily"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","text":"IBWeatherInfo","preciseIdentifier":"s:12IOTBluetooth13IBWeatherInfoC"},{"kind":"text","text":"]"}],"title":"daily","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth9IBWeatherC5dailySayAA0B4InfoCGvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeather"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeatherInfo":{"role":"symbol","title":"IBWeatherInfo","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBWeatherInfo"}],"abstract":[{"type":"text","text":"天气信息模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherInfo","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBWeatherInfo"}],"url":"\/documentation\/iotbluetooth\/ibweatherinfo"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeather/daily":{"role":"symbol","title":"daily","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"daily"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","text":"IBWeatherInfo","preciseIdentifier":"s:12IOTBluetooth13IBWeatherInfoC"},{"kind":"text","text":"]"}],"abstract":[{"type":"text","text":"七天天气信息"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeather\/daily","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibweather\/daily"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeather":{"role":"symbol","title":"IBWeather","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBWeather"}],"abstract":[{"type":"text","text":"天气模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeather","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBWeather"}],"url":"\/documentation\/iotbluetooth\/ibweather"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"()"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibweather\/init()"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeather\/init()","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"title":"init()","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth9IBWeatherCACycfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeather"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeather/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeather\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibweather\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeather":{"role":"symbol","title":"IBWeather","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBWeather"}],"abstract":[{"type":"text","text":"天气模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeather","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBWeather"}],"url":"\/documentation\/iotbluetooth\/ibweather"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":" "},{"kind":"internalParam","text":"decoder"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibweather\/init(from:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeather\/init(from:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"Decodable.init(from:)"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"title":"init(from:)","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth9IBWeatherC4fromACs7Decoder_p_tKcfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeather"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeather/init(from:)":{"role":"symbol","title":"init(from:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeather\/init(from:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibweather\/init(from:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeather":{"role":"symbol","title":"IBWeather","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBWeather"}],"abstract":[{"type":"text","text":"天气模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeather","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBWeather"}],"url":"\/documentation\/iotbluetooth\/ibweather"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"now"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherNow","preciseIdentifier":"s:12IOTBluetooth12IBWeatherNowC","text":"IBWeatherNow"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibweather\/now"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeather\/now","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"当前天气信息"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"now"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBWeatherNow","preciseIdentifier":"s:12IOTBluetooth12IBWeatherNowC"}],"title":"now","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth9IBWeatherC3nowAA0B3NowCvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeather"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeather":{"role":"symbol","title":"IBWeather","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBWeather"}],"abstract":[{"type":"text","text":"天气模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeather","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBWeather"}],"url":"\/documentation\/iotbluetooth\/ibweather"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeatherNow":{"role":"symbol","title":"IBWeatherNow","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBWeatherNow"}],"abstract":[{"type":"text","text":"现在天气信息模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherNow","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBWeatherNow"}],"url":"\/documentation\/iotbluetooth\/ibweathernow"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeather/now":{"role":"symbol","title":"now","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"now"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"IBWeatherNow","preciseIdentifier":"s:12IOTBluetooth12IBWeatherNowC"}],"abstract":[{"type":"text","text":"当前天气信息"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeather\/now","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibweather\/now"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBWeatherInfo"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibweatherinfo"],"traits":[{"interfaceLanguage":"swift"}]}],"relationshipsSections":[{"identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/Se","doc:\/\/com.thisiot.IOTBluetooth\/SE"],"kind":"relationships","title":"Conforms To","type":"conformsTo"}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherInfo","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"天气信息模型"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBWeatherInfo"}],"title":"IBWeatherInfo","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:12IOTBluetooth13IBWeatherInfoC","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBWeatherInfo"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"topicSections":[{"title":"Initializers","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherInfo\/init()","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherInfo\/init(from:)"]},{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherInfo\/fxDate","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherInfo\/iconDay","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherInfo\/tempMax","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherInfo\/tempMin","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherInfo\/textDay"]}],"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeatherInfo/textDay":{"role":"symbol","title":"textDay","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"textDay"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"预报白天天气状况文字描述,包括阴晴雨雪等天气状态的描述"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherInfo\/textDay","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibweatherinfo\/textday"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeatherInfo/fxDate":{"role":"symbol","title":"fxDate","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"fxDate"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"预报日期,时间戳"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherInfo\/fxDate","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibweatherinfo\/fxdate"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeatherInfo/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherInfo\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibweatherinfo\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeatherInfo/tempMin":{"role":"symbol","title":"tempMin","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"tempMin"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"预报当天最低温度"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherInfo\/tempMin","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibweatherinfo\/tempmin"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeatherInfo/tempMax":{"role":"symbol","title":"tempMax","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"tempMax"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"预报当天最高温度"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherInfo\/tempMax","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibweatherinfo\/tempmax"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeatherInfo/init(from:)":{"role":"symbol","title":"init(from:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherInfo\/init(from:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibweatherinfo\/init(from:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeatherInfo/iconDay":{"role":"symbol","title":"iconDay","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"iconDay"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"预报白天天气状况的图标代码"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherInfo\/iconDay","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibweatherinfo\/iconday"},"doc://com.thisiot.IOTBluetooth/SE":{"type":"unresolvable","title":"Swift.Encodable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/SE"},"doc://com.thisiot.IOTBluetooth/Se":{"type":"unresolvable","title":"Swift.Decodable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/Se"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeatherInfo":{"role":"symbol","title":"IBWeatherInfo","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBWeatherInfo"}],"abstract":[{"type":"text","text":"天气信息模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherInfo","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBWeatherInfo"}],"url":"\/documentation\/iotbluetooth\/ibweatherinfo"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"fxDate"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibweatherinfo\/fxdate"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherInfo\/fxDate","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"预报日期,时间戳"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"fxDate"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"fxDate","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth13IBWeatherInfoC6fxDateSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherInfo"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeatherInfo":{"role":"symbol","title":"IBWeatherInfo","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBWeatherInfo"}],"abstract":[{"type":"text","text":"天气信息模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherInfo","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBWeatherInfo"}],"url":"\/documentation\/iotbluetooth\/ibweatherinfo"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeatherInfo/fxDate":{"role":"symbol","title":"fxDate","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"fxDate"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"预报日期,时间戳"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherInfo\/fxDate","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibweatherinfo\/fxdate"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"iconDay"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibweatherinfo\/iconday"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherInfo\/iconDay","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"预报白天天气状况的图标代码"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"iconDay"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"iconDay","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth13IBWeatherInfoC7iconDaySivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherInfo"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeatherInfo/iconDay":{"role":"symbol","title":"iconDay","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"iconDay"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"预报白天天气状况的图标代码"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherInfo\/iconDay","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibweatherinfo\/iconday"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeatherInfo":{"role":"symbol","title":"IBWeatherInfo","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBWeatherInfo"}],"abstract":[{"type":"text","text":"天气信息模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherInfo","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBWeatherInfo"}],"url":"\/documentation\/iotbluetooth\/ibweatherinfo"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"()"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibweatherinfo\/init()"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherInfo\/init()","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"title":"init()","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth13IBWeatherInfoCACycfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherInfo"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeatherInfo":{"role":"symbol","title":"IBWeatherInfo","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBWeatherInfo"}],"abstract":[{"type":"text","text":"天气信息模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherInfo","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBWeatherInfo"}],"url":"\/documentation\/iotbluetooth\/ibweatherinfo"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeatherInfo/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherInfo\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibweatherinfo\/init()"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":" "},{"kind":"internalParam","text":"decoder"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibweatherinfo\/init(from:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherInfo\/init(from:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"Decodable.init(from:)"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"title":"init(from:)","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth13IBWeatherInfoC4fromACs7Decoder_p_tKcfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherInfo"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeatherInfo":{"role":"symbol","title":"IBWeatherInfo","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBWeatherInfo"}],"abstract":[{"type":"text","text":"天气信息模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherInfo","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBWeatherInfo"}],"url":"\/documentation\/iotbluetooth\/ibweatherinfo"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeatherInfo/init(from:)":{"role":"symbol","title":"init(from:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherInfo\/init(from:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibweatherinfo\/init(from:)"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"tempMax"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibweatherinfo\/tempmax"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherInfo\/tempMax","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"预报当天最高温度"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"tempMax"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"tempMax","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth13IBWeatherInfoC7tempMaxSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherInfo"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeatherInfo/tempMax":{"role":"symbol","title":"tempMax","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"tempMax"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"预报当天最高温度"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherInfo\/tempMax","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibweatherinfo\/tempmax"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeatherInfo":{"role":"symbol","title":"IBWeatherInfo","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBWeatherInfo"}],"abstract":[{"type":"text","text":"天气信息模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherInfo","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBWeatherInfo"}],"url":"\/documentation\/iotbluetooth\/ibweatherinfo"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"tempMin"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibweatherinfo\/tempmin"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherInfo\/tempMin","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"预报当天最低温度"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"tempMin"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"tempMin","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth13IBWeatherInfoC7tempMinSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherInfo"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeatherInfo":{"role":"symbol","title":"IBWeatherInfo","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBWeatherInfo"}],"abstract":[{"type":"text","text":"天气信息模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherInfo","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBWeatherInfo"}],"url":"\/documentation\/iotbluetooth\/ibweatherinfo"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeatherInfo/tempMin":{"role":"symbol","title":"tempMin","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"tempMin"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"预报当天最低温度"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherInfo\/tempMin","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibweatherinfo\/tempmin"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"textDay"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibweatherinfo\/textday"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherInfo\/textDay","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"预报白天天气状况文字描述,包括阴晴雨雪等天气状态的描述"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"textDay"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"title":"textDay","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth13IBWeatherInfoC7textDaySSvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherInfo"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeatherInfo":{"role":"symbol","title":"IBWeatherInfo","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBWeatherInfo"}],"abstract":[{"type":"text","text":"天气信息模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherInfo","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBWeatherInfo"}],"url":"\/documentation\/iotbluetooth\/ibweatherinfo"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeatherInfo/textDay":{"role":"symbol","title":"textDay","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"textDay"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"预报白天天气状况文字描述,包括阴晴雨雪等天气状态的描述"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherInfo\/textDay","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibweatherinfo\/textday"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBWeatherNow"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibweathernow"],"traits":[{"interfaceLanguage":"swift"}]}],"relationshipsSections":[{"identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/Se","doc:\/\/com.thisiot.IOTBluetooth\/SE"],"kind":"relationships","title":"Conforms To","type":"conformsTo"}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherNow","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"现在天气信息模型"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBWeatherNow"}],"title":"IBWeatherNow","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:12IOTBluetooth12IBWeatherNowC","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IBWeatherNow"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"topicSections":[{"title":"Initializers","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherNow\/init()","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherNow\/init(from:)"]},{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherNow\/humidity","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherNow\/iconNight","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherNow\/temp","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherNow\/textNight","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherNow\/uvIndex","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherNow\/windScale"]}],"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeatherNow":{"role":"symbol","title":"IBWeatherNow","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBWeatherNow"}],"abstract":[{"type":"text","text":"现在天气信息模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherNow","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBWeatherNow"}],"url":"\/documentation\/iotbluetooth\/ibweathernow"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeatherNow/uvIndex":{"role":"symbol","title":"uvIndex","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"uvIndex"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"紫外线强度指数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherNow\/uvIndex","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibweathernow\/uvindex"},"doc://com.thisiot.IOTBluetooth/Se":{"type":"unresolvable","title":"Swift.Decodable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/Se"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeatherNow/humidity":{"role":"symbol","title":"humidity","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"humidity"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"湿度%"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherNow\/humidity","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibweathernow\/humidity"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeatherNow/temp":{"role":"symbol","title":"temp","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"temp"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"当前温度"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherNow\/temp","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibweathernow\/temp"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeatherNow/iconNight":{"role":"symbol","title":"iconNight","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"iconNight"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"夜晚天气icon图标"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherNow\/iconNight","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibweathernow\/iconnight"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeatherNow/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherNow\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibweathernow\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeatherNow/textNight":{"role":"symbol","title":"textNight","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"textNight"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"夜晚天气情况"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherNow\/textNight","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibweathernow\/textnight"},"doc://com.thisiot.IOTBluetooth/SE":{"type":"unresolvable","title":"Swift.Encodable","identifier":"doc:\/\/com.thisiot.IOTBluetooth\/SE"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeatherNow/windScale":{"role":"symbol","title":"windScale","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"windScale"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"风力"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherNow\/windScale","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibweathernow\/windscale"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeatherNow/init(from:)":{"role":"symbol","title":"init(from:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherNow\/init(from:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibweathernow\/init(from:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"humidity"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibweathernow\/humidity"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherNow\/humidity","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"湿度%"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"humidity"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"humidity","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth12IBWeatherNowC8humiditySivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherNow"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeatherNow":{"role":"symbol","title":"IBWeatherNow","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBWeatherNow"}],"abstract":[{"type":"text","text":"现在天气信息模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherNow","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBWeatherNow"}],"url":"\/documentation\/iotbluetooth\/ibweathernow"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeatherNow/humidity":{"role":"symbol","title":"humidity","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"humidity"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"湿度%"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherNow\/humidity","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibweathernow\/humidity"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"iconNight"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibweathernow\/iconnight"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherNow\/iconNight","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"夜晚天气icon图标"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"iconNight"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"iconNight","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth12IBWeatherNowC9iconNightSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherNow"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeatherNow":{"role":"symbol","title":"IBWeatherNow","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBWeatherNow"}],"abstract":[{"type":"text","text":"现在天气信息模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherNow","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBWeatherNow"}],"url":"\/documentation\/iotbluetooth\/ibweathernow"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeatherNow/iconNight":{"role":"symbol","title":"iconNight","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"iconNight"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"夜晚天气icon图标"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherNow\/iconNight","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibweathernow\/iconnight"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"()"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibweathernow\/init()"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherNow\/init()","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"title":"init()","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth12IBWeatherNowCACycfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherNow"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeatherNow/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherNow\/init()","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibweathernow\/init()"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeatherNow":{"role":"symbol","title":"IBWeatherNow","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBWeatherNow"}],"abstract":[{"type":"text","text":"现在天气信息模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherNow","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBWeatherNow"}],"url":"\/documentation\/iotbluetooth\/ibweathernow"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":" "},{"kind":"internalParam","text":"decoder"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibweathernow\/init(from:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherNow\/init(from:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"Decodable.init(from:)"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"title":"init(from:)","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:12IOTBluetooth12IBWeatherNowC4fromACs7Decoder_p_tKcfc","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherNow"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeatherNow/init(from:)":{"role":"symbol","title":"init(from:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherNow\/init(from:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibweathernow\/init(from:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeatherNow":{"role":"symbol","title":"IBWeatherNow","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBWeatherNow"}],"abstract":[{"type":"text","text":"现在天气信息模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherNow","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBWeatherNow"}],"url":"\/documentation\/iotbluetooth\/ibweathernow"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"temp"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibweathernow\/temp"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherNow\/temp","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"当前温度"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"temp"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"temp","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth12IBWeatherNowC4tempSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherNow"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeatherNow/temp":{"role":"symbol","title":"temp","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"temp"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"当前温度"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherNow\/temp","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibweathernow\/temp"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeatherNow":{"role":"symbol","title":"IBWeatherNow","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBWeatherNow"}],"abstract":[{"type":"text","text":"现在天气信息模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherNow","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBWeatherNow"}],"url":"\/documentation\/iotbluetooth\/ibweathernow"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"textNight"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibweathernow\/textnight"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherNow\/textNight","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"夜晚天气情况"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"textNight"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"title":"textNight","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth12IBWeatherNowC9textNightSSvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherNow"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeatherNow/textNight":{"role":"symbol","title":"textNight","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"textNight"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"夜晚天气情况"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherNow\/textNight","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibweathernow\/textnight"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeatherNow":{"role":"symbol","title":"IBWeatherNow","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBWeatherNow"}],"abstract":[{"type":"text","text":"现在天气信息模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherNow","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBWeatherNow"}],"url":"\/documentation\/iotbluetooth\/ibweathernow"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"uvIndex"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibweathernow\/uvindex"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherNow\/uvIndex","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"紫外线强度指数"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"uvIndex"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"uvIndex","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth12IBWeatherNowC7uvIndexSivp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherNow"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeatherNow":{"role":"symbol","title":"IBWeatherNow","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBWeatherNow"}],"abstract":[{"type":"text","text":"现在天气信息模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherNow","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBWeatherNow"}],"url":"\/documentation\/iotbluetooth\/ibweathernow"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeatherNow/uvIndex":{"role":"symbol","title":"uvIndex","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"uvIndex"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"紫外线强度指数"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherNow\/uvIndex","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibweathernow\/uvindex"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"windScale"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/ibweathernow\/windscale"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherNow\/windScale","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"风力"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"windScale"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"title":"windScale","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:12IOTBluetooth12IBWeatherNowC9windScaleSSvp","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherNow"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeatherNow":{"role":"symbol","title":"IBWeatherNow","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"IBWeatherNow"}],"abstract":[{"type":"text","text":"现在天气信息模型"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherNow","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IBWeatherNow"}],"url":"\/documentation\/iotbluetooth\/ibweathernow"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IBWeatherNow/windScale":{"role":"symbol","title":"windScale","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"windScale"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"风力"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IBWeatherNow\/windScale","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/ibweathernow\/windscale"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"extern"},{"kind":"text","text":" "},{"kind":"typeIdentifier","text":"double","preciseIdentifier":"c:d"},{"kind":"text","text":" "},{"kind":"identifier","text":"IOTBluetoothVersionNumber"}],"languages":["occ"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/iotbluetoothversionnumber"],"traits":[{"interfaceLanguage":"occ"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IOTBluetoothVersionNumber","interfaceLanguage":"occ"},"abstract":[{"type":"text","text":"Project version number for IOTBluetooth."}],"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"IOTBluetoothVersionNumber"}],"title":"IOTBluetoothVersionNumber","roleHeading":"Global Variable","role":"symbol","symbolKind":"var","externalID":"c:@IOTBluetoothVersionNumber","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IOTBluetoothVersionNumber"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IOTBluetoothVersionNumber":{"role":"symbol","title":"IOTBluetoothVersionNumber","fragments":[{"kind":"identifier","text":"IOTBluetoothVersionNumber"}],"abstract":[{"type":"text","text":"Project version number for IOTBluetooth."}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IOTBluetoothVersionNumber","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/iotbluetoothversionnumber"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"extern"},{"kind":"text","text":" "},{"kind":"keyword","text":"const"},{"kind":"text","text":" "},{"kind":"typeIdentifier","text":"unsigned char","preciseIdentifier":"c:c"},{"kind":"text","text":" "},{"kind":"identifier","text":"IOTBluetoothVersionString"},{"kind":"text","text":"[]"}],"languages":["occ"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/iotbluetoothversionstring"],"traits":[{"interfaceLanguage":"occ"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IOTBluetoothVersionString","interfaceLanguage":"occ"},"abstract":[{"type":"text","text":"Project version string for IOTBluetooth."}],"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"IOTBluetoothVersionString"}],"title":"IOTBluetoothVersionString","roleHeading":"Global Variable","role":"symbol","symbolKind":"var","externalID":"c:@IOTBluetoothVersionString","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"IOTBluetoothVersionString"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/IOTBluetoothVersionString":{"role":"symbol","title":"IOTBluetoothVersionString","fragments":[{"kind":"identifier","text":"IOTBluetoothVersionString"}],"abstract":[{"type":"text","text":"Project version string for IOTBluetooth."}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/IOTBluetoothVersionString","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/iotbluetoothversionstring"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"LRC"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/lrc"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/LRC","interfaceLanguage":"swift"},"topicSections":[{"title":"Type Methods","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/LRC\/calculate(_:)","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/LRC\/calculateLRC(_:)"]}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"LRC"}],"title":"LRC","roleHeading":"Structure","role":"symbol","symbolKind":"struct","externalID":"s:12IOTBluetooth3LRCV","modules":[{"name":"IOTBluetooth"}],"navigatorTitle":[{"kind":"identifier","text":"LRC"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/LRC/calculate(_:)":{"role":"symbol","title":"calculate(_:)","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"calculate"},{"kind":"text","text":"(["},{"kind":"typeIdentifier","text":"UInt8","preciseIdentifier":"s:s5UInt8V"},{"kind":"text","text":"]) -> "},{"kind":"typeIdentifier","text":"UInt8","preciseIdentifier":"s:s5UInt8V"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/LRC\/calculate(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/lrc\/calculate(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/LRC/calculateLRC(_:)":{"role":"symbol","title":"calculateLRC(_:)","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"calculateLRC"},{"kind":"text","text":"(["},{"kind":"typeIdentifier","text":"UInt8","preciseIdentifier":"s:s5UInt8V"},{"kind":"text","text":"]) -> "},{"kind":"typeIdentifier","text":"UInt8","preciseIdentifier":"s:s5UInt8V"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/LRC\/calculateLRC(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/lrc\/calculatelrc(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/LRC":{"role":"symbol","title":"LRC","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"LRC"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/LRC","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"LRC"}],"url":"\/documentation\/iotbluetooth\/lrc"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"calculate"},{"kind":"text","text":"("},{"kind":"externalParam","text":"_"},{"kind":"text","text":" "},{"kind":"internalParam","text":"bytes"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","text":"UInt8","preciseIdentifier":"s:s5UInt8V"},{"kind":"text","text":"]) -> "},{"kind":"typeIdentifier","text":"UInt8","preciseIdentifier":"s:s5UInt8V"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/lrc\/calculate(_:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/LRC\/calculate(_:)","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"calculate"},{"kind":"text","text":"(["},{"kind":"typeIdentifier","text":"UInt8","preciseIdentifier":"s:s5UInt8V"},{"kind":"text","text":"]) -> "},{"kind":"typeIdentifier","text":"UInt8","preciseIdentifier":"s:s5UInt8V"}],"title":"calculate(_:)","roleHeading":"Type Method","role":"symbol","symbolKind":"method","externalID":"s:12IOTBluetooth3LRCV9calculateys5UInt8VSayAFGFZ","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/LRC"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/LRC":{"role":"symbol","title":"LRC","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"LRC"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/LRC","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"LRC"}],"url":"\/documentation\/iotbluetooth\/lrc"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/LRC/calculate(_:)":{"role":"symbol","title":"calculate(_:)","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"calculate"},{"kind":"text","text":"(["},{"kind":"typeIdentifier","text":"UInt8","preciseIdentifier":"s:s5UInt8V"},{"kind":"text","text":"]) -> "},{"kind":"typeIdentifier","text":"UInt8","preciseIdentifier":"s:s5UInt8V"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/LRC\/calculate(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/lrc\/calculate(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"calculateLRC"},{"kind":"text","text":"("},{"kind":"externalParam","text":"_"},{"kind":"text","text":" "},{"kind":"internalParam","text":"bytes"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","text":"UInt8","preciseIdentifier":"s:s5UInt8V"},{"kind":"text","text":"]) -> "},{"kind":"typeIdentifier","text":"UInt8","preciseIdentifier":"s:s5UInt8V"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/lrc\/calculatelrc(_:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/LRC\/calculateLRC(_:)","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"calculateLRC"},{"kind":"text","text":"(["},{"kind":"typeIdentifier","text":"UInt8","preciseIdentifier":"s:s5UInt8V"},{"kind":"text","text":"]) -> "},{"kind":"typeIdentifier","text":"UInt8","preciseIdentifier":"s:s5UInt8V"}],"title":"calculateLRC(_:)","roleHeading":"Type Method","role":"symbol","symbolKind":"method","externalID":"s:12IOTBluetooth3LRCV09calculateB0ys5UInt8VSayAFGFZ","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/LRC"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/LRC/calculateLRC(_:)":{"role":"symbol","title":"calculateLRC(_:)","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"calculateLRC"},{"kind":"text","text":"(["},{"kind":"typeIdentifier","text":"UInt8","preciseIdentifier":"s:s5UInt8V"},{"kind":"text","text":"]) -> "},{"kind":"typeIdentifier","text":"UInt8","preciseIdentifier":"s:s5UInt8V"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/LRC\/calculateLRC(_:)","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/lrc\/calculatelrc(_:)"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/LRC":{"role":"symbol","title":"LRC","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"LRC"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/LRC","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"LRC"}],"url":"\/documentation\/iotbluetooth\/lrc"}}}
\ No newline at end of file
--- /dev/null
+{"variants":[{"paths":["\/documentation\/iotbluetooth\/swift"],"traits":[{"interfaceLanguage":"swift"}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift","interfaceLanguage":"swift"},"topicSections":[{"title":"Extended Protocols","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/BinaryInteger"]},{"title":"Extended Structures","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/Array","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/Double","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/Int","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/String","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/UInt8"]}],"kind":"symbol","metadata":{"roleHeading":"Extended Module","externalID":"s:m:s:e:s:SS12IOTBluetoothE4data10Foundation4DataVSgvp","title":"Swift","symbolKind":"extension","role":"collection","modules":[{"name":"IOTBluetooth"}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift/Int":{"role":"symbol","title":"Int","fragments":[{"kind":"keyword","text":"extension"},{"kind":"text","text":" "},{"kind":"identifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/Int","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Int"}],"url":"\/documentation\/iotbluetooth\/swift\/int"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift/Array":{"role":"symbol","title":"Array","fragments":[{"kind":"keyword","text":"extension"},{"kind":"text","text":" "},{"kind":"identifier","text":"Array","preciseIdentifier":"s:Sa"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/Array","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Array"}],"url":"\/documentation\/iotbluetooth\/swift\/array"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift/Double":{"role":"symbol","title":"Double","fragments":[{"kind":"keyword","text":"extension"},{"kind":"text","text":" "},{"kind":"identifier","text":"Double","preciseIdentifier":"s:Sd"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/Double","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Double"}],"url":"\/documentation\/iotbluetooth\/swift\/double"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift/String":{"role":"symbol","title":"String","fragments":[{"kind":"keyword","text":"extension"},{"kind":"text","text":" "},{"kind":"identifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/String","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"String"}],"url":"\/documentation\/iotbluetooth\/swift\/string"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift":{"role":"collection","title":"Swift","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/swift"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift/BinaryInteger":{"role":"symbol","title":"BinaryInteger","fragments":[{"kind":"keyword","text":"extension"},{"kind":"text","text":" "},{"kind":"identifier","text":"BinaryInteger","preciseIdentifier":"s:Sz"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/BinaryInteger","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"BinaryInteger"}],"url":"\/documentation\/iotbluetooth\/swift\/binaryinteger"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift/UInt8":{"role":"symbol","title":"UInt8","fragments":[{"kind":"keyword","text":"extension"},{"kind":"text","text":" "},{"kind":"identifier","text":"UInt8","preciseIdentifier":"s:s5UInt8V"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/UInt8","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"UInt8"}],"url":"\/documentation\/iotbluetooth\/swift\/uint8"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"extension"},{"kind":"text","text":" "},{"kind":"typeIdentifier","text":"Array","preciseIdentifier":"s:Sa"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/swift\/array"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/Array","interfaceLanguage":"swift"},"topicSections":[{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/Array\/data","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/Array\/int"]}],"kind":"symbol","metadata":{"navigatorTitle":[{"kind":"identifier","text":"Array"}],"role":"symbol","title":"Array","roleHeading":"Extended Structure","fragments":[{"kind":"keyword","text":"extension"},{"kind":"text","text":" "},{"kind":"identifier","text":"Array","preciseIdentifier":"s:Sa"}],"symbolKind":"extension","externalID":"s:e:s:Sa12IOTBluetooths5UInt8VRszlE3intSivp","extendedModule":"Swift","modules":[{"name":"IOTBluetooth","relatedModules":["Swift"]}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift/Array/data":{"conformance":{"constraints":[{"type":"codeVoice","code":"Element"},{"type":"text","text":" is "},{"type":"codeVoice","code":"UInt8"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"data","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"data"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Data","preciseIdentifier":"s:10Foundation4DataV"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/Array\/data","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/swift\/array\/data"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift/Array":{"role":"symbol","title":"Array","fragments":[{"kind":"keyword","text":"extension"},{"kind":"text","text":" "},{"kind":"identifier","text":"Array","preciseIdentifier":"s:Sa"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/Array","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Array"}],"url":"\/documentation\/iotbluetooth\/swift\/array"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift":{"role":"collection","title":"Swift","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/swift"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift/Array/int":{"conformance":{"constraints":[{"type":"codeVoice","code":"Element"},{"type":"text","text":" is "},{"type":"codeVoice","code":"UInt8"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"int","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"int"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/Array\/int","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/swift\/array\/int"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"data"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Data","preciseIdentifier":"s:10Foundation4DataV"},{"kind":"text","text":" { "},{"kind":"keyword","text":"get"},{"kind":"text","text":" }"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/swift\/array\/data"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/Array\/data","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"conformance":{"constraints":[{"type":"codeVoice","code":"Element"},{"type":"text","text":" is "},{"type":"codeVoice","code":"UInt8"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"data","roleHeading":"Instance Property","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"data"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Data","preciseIdentifier":"s:10Foundation4DataV"}],"symbolKind":"property","externalID":"s:Sa12IOTBluetooths5UInt8VRszlE4data10Foundation4DataVvp","extendedModule":"Swift","modules":[{"name":"IOTBluetooth","relatedModules":["Swift"]}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/Array"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift/Array":{"role":"symbol","title":"Array","fragments":[{"kind":"keyword","text":"extension"},{"kind":"text","text":" "},{"kind":"identifier","text":"Array","preciseIdentifier":"s:Sa"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/Array","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Array"}],"url":"\/documentation\/iotbluetooth\/swift\/array"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift":{"role":"collection","title":"Swift","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/swift"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift/Array/data":{"conformance":{"constraints":[{"type":"codeVoice","code":"Element"},{"type":"text","text":" is "},{"type":"codeVoice","code":"UInt8"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"data","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"data"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Data","preciseIdentifier":"s:10Foundation4DataV"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/Array\/data","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/swift\/array\/data"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"int"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":" { "},{"kind":"keyword","text":"get"},{"kind":"text","text":" }"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/swift\/array\/int"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/Array\/int","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"conformance":{"constraints":[{"type":"codeVoice","code":"Element"},{"type":"text","text":" is "},{"type":"codeVoice","code":"UInt8"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"int","roleHeading":"Instance Property","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"int"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"symbolKind":"property","externalID":"s:Sa12IOTBluetooths5UInt8VRszlE3intSivp","extendedModule":"Swift","modules":[{"name":"IOTBluetooth","relatedModules":["Swift"]}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/Array"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift/Array/int":{"conformance":{"constraints":[{"type":"codeVoice","code":"Element"},{"type":"text","text":" is "},{"type":"codeVoice","code":"UInt8"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"int","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"int"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/Array\/int","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/swift\/array\/int"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift":{"role":"collection","title":"Swift","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/swift"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift/Array":{"role":"symbol","title":"Array","fragments":[{"kind":"keyword","text":"extension"},{"kind":"text","text":" "},{"kind":"identifier","text":"Array","preciseIdentifier":"s:Sa"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/Array","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Array"}],"url":"\/documentation\/iotbluetooth\/swift\/array"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"extension"},{"kind":"text","text":" "},{"kind":"typeIdentifier","text":"BinaryInteger","preciseIdentifier":"s:Sz"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/swift\/binaryinteger"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/BinaryInteger","interfaceLanguage":"swift"},"topicSections":[{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/BinaryInteger\/binaryString"]}],"kind":"symbol","metadata":{"navigatorTitle":[{"kind":"identifier","text":"BinaryInteger"}],"role":"symbol","title":"BinaryInteger","roleHeading":"Extended Protocol","fragments":[{"kind":"keyword","text":"extension"},{"kind":"text","text":" "},{"kind":"identifier","text":"BinaryInteger","preciseIdentifier":"s:Sz"}],"symbolKind":"extension","externalID":"s:e:s:Sz12IOTBluetoothE12binaryStringSSvp","extendedModule":"Swift","modules":[{"name":"IOTBluetooth","relatedModules":["Swift"]}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift/BinaryInteger":{"role":"symbol","title":"BinaryInteger","fragments":[{"kind":"keyword","text":"extension"},{"kind":"text","text":" "},{"kind":"identifier","text":"BinaryInteger","preciseIdentifier":"s:Sz"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/BinaryInteger","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"BinaryInteger"}],"url":"\/documentation\/iotbluetooth\/swift\/binaryinteger"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift/BinaryInteger/binaryString":{"role":"symbol","title":"binaryString","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"binaryString"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"e.g. 0000100110010101"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/BinaryInteger\/binaryString","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/swift\/binaryinteger\/binarystring"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift":{"role":"collection","title":"Swift","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/swift"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"binaryString"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":" { "},{"kind":"keyword","text":"get"},{"kind":"text","text":" }"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/swift\/binaryinteger\/binarystring"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/BinaryInteger\/binaryString","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"e.g. 0000100110010101"}],"kind":"symbol","metadata":{"role":"symbol","title":"binaryString","roleHeading":"Instance Property","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"binaryString"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"symbolKind":"property","externalID":"s:Sz12IOTBluetoothE12binaryStringSSvp","extendedModule":"Swift","modules":[{"name":"IOTBluetooth","relatedModules":["Swift"]}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/BinaryInteger"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift/BinaryInteger":{"role":"symbol","title":"BinaryInteger","fragments":[{"kind":"keyword","text":"extension"},{"kind":"text","text":" "},{"kind":"identifier","text":"BinaryInteger","preciseIdentifier":"s:Sz"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/BinaryInteger","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"BinaryInteger"}],"url":"\/documentation\/iotbluetooth\/swift\/binaryinteger"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift/BinaryInteger/binaryString":{"role":"symbol","title":"binaryString","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"binaryString"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"e.g. 0000100110010101"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/BinaryInteger\/binaryString","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/swift\/binaryinteger\/binarystring"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift":{"role":"collection","title":"Swift","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/swift"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"extension"},{"kind":"text","text":" "},{"kind":"typeIdentifier","text":"Double","preciseIdentifier":"s:Sd"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/swift\/double"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/Double","interfaceLanguage":"swift"},"topicSections":[{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/Double\/upInt"]}],"kind":"symbol","metadata":{"navigatorTitle":[{"kind":"identifier","text":"Double"}],"role":"symbol","title":"Double","roleHeading":"Extended Structure","fragments":[{"kind":"keyword","text":"extension"},{"kind":"text","text":" "},{"kind":"identifier","text":"Double","preciseIdentifier":"s:Sd"}],"symbolKind":"extension","externalID":"s:e:s:Sd12IOTBluetoothE5upIntSivp","extendedModule":"Swift","modules":[{"name":"IOTBluetooth","relatedModules":["Swift"]}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift/Double/upInt":{"role":"symbol","title":"upInt","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"upInt"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/Double\/upInt","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/swift\/double\/upint"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift":{"role":"collection","title":"Swift","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/swift"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift/Double":{"role":"symbol","title":"Double","fragments":[{"kind":"keyword","text":"extension"},{"kind":"text","text":" "},{"kind":"identifier","text":"Double","preciseIdentifier":"s:Sd"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/Double","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Double"}],"url":"\/documentation\/iotbluetooth\/swift\/double"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"upInt"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":" { "},{"kind":"keyword","text":"get"},{"kind":"text","text":" }"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/swift\/double\/upint"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/Double\/upInt","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"role":"symbol","title":"upInt","roleHeading":"Instance Property","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"upInt"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"symbolKind":"property","externalID":"s:Sd12IOTBluetoothE5upIntSivp","extendedModule":"Swift","modules":[{"name":"IOTBluetooth","relatedModules":["Swift"]}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/Double"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift/Double":{"role":"symbol","title":"Double","fragments":[{"kind":"keyword","text":"extension"},{"kind":"text","text":" "},{"kind":"identifier","text":"Double","preciseIdentifier":"s:Sd"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/Double","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Double"}],"url":"\/documentation\/iotbluetooth\/swift\/double"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift":{"role":"collection","title":"Swift","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/swift"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift/Double/upInt":{"role":"symbol","title":"upInt","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"upInt"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/Double\/upInt","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/swift\/double\/upint"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"extension"},{"kind":"text","text":" "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/swift\/int"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/Int","interfaceLanguage":"swift"},"topicSections":[{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/Int\/byte","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/Int\/byte2","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/Int\/byte3","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/Int\/byte4","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/Int\/bytes"]}],"kind":"symbol","metadata":{"navigatorTitle":[{"kind":"identifier","text":"Int"}],"role":"symbol","title":"Int","roleHeading":"Extended Structure","fragments":[{"kind":"keyword","text":"extension"},{"kind":"text","text":" "},{"kind":"identifier","text":"Int","preciseIdentifier":"s:Si"}],"symbolKind":"extension","externalID":"s:e:s:Si12IOTBluetoothE10binaryPack33_4CC7E2A51E8CBA94DE6DC683CD230AD9LLSivpZ","extendedModule":"Swift","modules":[{"name":"IOTBluetooth","relatedModules":["Swift"]}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift/Int/bytes":{"role":"symbol","title":"bytes","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"bytes"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","text":"UInt8","preciseIdentifier":"s:s5UInt8V"},{"kind":"text","text":"]"}],"abstract":[{"type":"text","text":"convert to data with byte (max is 4294967295)"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/Int\/bytes","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/swift\/int\/bytes"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift/Int/byte3":{"role":"symbol","title":"byte3","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"byte3"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","text":"UInt8","preciseIdentifier":"s:s5UInt8V"},{"kind":"text","text":"]"}],"abstract":[{"type":"text","text":"convert to data with 3 byte"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/Int\/byte3","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/swift\/int\/byte3"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift/Int":{"role":"symbol","title":"Int","fragments":[{"kind":"keyword","text":"extension"},{"kind":"text","text":" "},{"kind":"identifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/Int","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Int"}],"url":"\/documentation\/iotbluetooth\/swift\/int"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift/Int/byte2":{"role":"symbol","title":"byte2","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"byte2"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","text":"UInt8","preciseIdentifier":"s:s5UInt8V"},{"kind":"text","text":"]"}],"abstract":[{"type":"text","text":"convert to data with 2 byte"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/Int\/byte2","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/swift\/int\/byte2"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift/Int/byte":{"role":"symbol","title":"byte","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"byte"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"UInt8","preciseIdentifier":"s:s5UInt8V"}],"abstract":[{"type":"text","text":"convert to data with 1 byte"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/Int\/byte","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/swift\/int\/byte"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift":{"role":"collection","title":"Swift","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/swift"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift/Int/byte4":{"role":"symbol","title":"byte4","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"byte4"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","text":"UInt8","preciseIdentifier":"s:s5UInt8V"},{"kind":"text","text":"]"}],"abstract":[{"type":"text","text":"convert to data with 4 byte"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/Int\/byte4","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/swift\/int\/byte4"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"byte"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"UInt8","preciseIdentifier":"s:s5UInt8V"},{"kind":"text","text":" { "},{"kind":"keyword","text":"get"},{"kind":"text","text":" }"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/swift\/int\/byte"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/Int\/byte","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"convert to data with 1 byte"}],"kind":"symbol","metadata":{"role":"symbol","title":"byte","roleHeading":"Instance Property","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"byte"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"UInt8","preciseIdentifier":"s:s5UInt8V"}],"symbolKind":"property","externalID":"s:Si12IOTBluetoothE4bytes5UInt8Vvp","extendedModule":"Swift","modules":[{"name":"IOTBluetooth","relatedModules":["Swift"]}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/Int"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift/Int/byte":{"role":"symbol","title":"byte","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"byte"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"UInt8","preciseIdentifier":"s:s5UInt8V"}],"abstract":[{"type":"text","text":"convert to data with 1 byte"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/Int\/byte","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/swift\/int\/byte"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift":{"role":"collection","title":"Swift","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/swift"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift/Int":{"role":"symbol","title":"Int","fragments":[{"kind":"keyword","text":"extension"},{"kind":"text","text":" "},{"kind":"identifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/Int","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Int"}],"url":"\/documentation\/iotbluetooth\/swift\/int"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"byte2"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","text":"UInt8","preciseIdentifier":"s:s5UInt8V"},{"kind":"text","text":"] { "},{"kind":"keyword","text":"get"},{"kind":"text","text":" }"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"content","content":[{"anchor":"discussion","level":2,"type":"heading","text":"Discussion"},{"type":"paragraph","inlineContent":[{"type":"text","text":"低位 –> 高位"}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/swift\/int\/byte2"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/Int\/byte2","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"convert to data with 2 byte"}],"kind":"symbol","metadata":{"role":"symbol","title":"byte2","roleHeading":"Instance Property","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"byte2"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","text":"UInt8","preciseIdentifier":"s:s5UInt8V"},{"kind":"text","text":"]"}],"symbolKind":"property","externalID":"s:Si12IOTBluetoothE5byte2Says5UInt8VGvp","extendedModule":"Swift","modules":[{"name":"IOTBluetooth","relatedModules":["Swift"]}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/Int"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift/Int":{"role":"symbol","title":"Int","fragments":[{"kind":"keyword","text":"extension"},{"kind":"text","text":" "},{"kind":"identifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/Int","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Int"}],"url":"\/documentation\/iotbluetooth\/swift\/int"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift":{"role":"collection","title":"Swift","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/swift"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift/Int/byte2":{"role":"symbol","title":"byte2","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"byte2"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","text":"UInt8","preciseIdentifier":"s:s5UInt8V"},{"kind":"text","text":"]"}],"abstract":[{"type":"text","text":"convert to data with 2 byte"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/Int\/byte2","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/swift\/int\/byte2"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"byte3"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","text":"UInt8","preciseIdentifier":"s:s5UInt8V"},{"kind":"text","text":"] { "},{"kind":"keyword","text":"get"},{"kind":"text","text":" }"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"content","content":[{"anchor":"discussion","level":2,"type":"heading","text":"Discussion"},{"type":"paragraph","inlineContent":[{"type":"text","text":"低位 –> 高位"}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/swift\/int\/byte3"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/Int\/byte3","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"convert to data with 3 byte"}],"kind":"symbol","metadata":{"role":"symbol","title":"byte3","roleHeading":"Instance Property","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"byte3"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","text":"UInt8","preciseIdentifier":"s:s5UInt8V"},{"kind":"text","text":"]"}],"symbolKind":"property","externalID":"s:Si12IOTBluetoothE5byte3Says5UInt8VGvp","extendedModule":"Swift","modules":[{"name":"IOTBluetooth","relatedModules":["Swift"]}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/Int"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift":{"role":"collection","title":"Swift","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/swift"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift/Int":{"role":"symbol","title":"Int","fragments":[{"kind":"keyword","text":"extension"},{"kind":"text","text":" "},{"kind":"identifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/Int","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Int"}],"url":"\/documentation\/iotbluetooth\/swift\/int"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift/Int/byte3":{"role":"symbol","title":"byte3","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"byte3"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","text":"UInt8","preciseIdentifier":"s:s5UInt8V"},{"kind":"text","text":"]"}],"abstract":[{"type":"text","text":"convert to data with 3 byte"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/Int\/byte3","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/swift\/int\/byte3"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"byte4"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","text":"UInt8","preciseIdentifier":"s:s5UInt8V"},{"kind":"text","text":"] { "},{"kind":"keyword","text":"get"},{"kind":"text","text":" }"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"content","content":[{"anchor":"discussion","level":2,"type":"heading","text":"Discussion"},{"type":"paragraph","inlineContent":[{"type":"text","text":"低位 –> 高位"}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/swift\/int\/byte4"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/Int\/byte4","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"convert to data with 4 byte"}],"kind":"symbol","metadata":{"role":"symbol","title":"byte4","roleHeading":"Instance Property","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"byte4"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","text":"UInt8","preciseIdentifier":"s:s5UInt8V"},{"kind":"text","text":"]"}],"symbolKind":"property","externalID":"s:Si12IOTBluetoothE5byte4Says5UInt8VGvp","extendedModule":"Swift","modules":[{"name":"IOTBluetooth","relatedModules":["Swift"]}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/Int"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift":{"role":"collection","title":"Swift","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/swift"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift/Int":{"role":"symbol","title":"Int","fragments":[{"kind":"keyword","text":"extension"},{"kind":"text","text":" "},{"kind":"identifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/Int","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Int"}],"url":"\/documentation\/iotbluetooth\/swift\/int"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift/Int/byte4":{"role":"symbol","title":"byte4","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"byte4"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","text":"UInt8","preciseIdentifier":"s:s5UInt8V"},{"kind":"text","text":"]"}],"abstract":[{"type":"text","text":"convert to data with 4 byte"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/Int\/byte4","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/swift\/int\/byte4"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"bytes"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","text":"UInt8","preciseIdentifier":"s:s5UInt8V"},{"kind":"text","text":"] { "},{"kind":"keyword","text":"get"},{"kind":"text","text":" }"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"content","content":[{"anchor":"discussion","level":2,"type":"heading","text":"Discussion"},{"type":"paragraph","inlineContent":[{"type":"text","text":"低位 –> 高位"}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/swift\/int\/bytes"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/Int\/bytes","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"convert to data with byte (max is 4294967295)"}],"kind":"symbol","metadata":{"role":"symbol","title":"bytes","roleHeading":"Instance Property","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"bytes"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","text":"UInt8","preciseIdentifier":"s:s5UInt8V"},{"kind":"text","text":"]"}],"symbolKind":"property","externalID":"s:Si12IOTBluetoothE5bytesSays5UInt8VGvp","extendedModule":"Swift","modules":[{"name":"IOTBluetooth","relatedModules":["Swift"]}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/Int"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift/Int":{"role":"symbol","title":"Int","fragments":[{"kind":"keyword","text":"extension"},{"kind":"text","text":" "},{"kind":"identifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/Int","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Int"}],"url":"\/documentation\/iotbluetooth\/swift\/int"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift":{"role":"collection","title":"Swift","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/swift"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift/Int/bytes":{"role":"symbol","title":"bytes","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"bytes"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","text":"UInt8","preciseIdentifier":"s:s5UInt8V"},{"kind":"text","text":"]"}],"abstract":[{"type":"text","text":"convert to data with byte (max is 4294967295)"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/Int\/bytes","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/swift\/int\/bytes"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"extension"},{"kind":"text","text":" "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/swift\/string"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/String","interfaceLanguage":"swift"},"topicSections":[{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/String\/binary","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/String\/data"]}],"kind":"symbol","metadata":{"navigatorTitle":[{"kind":"identifier","text":"String"}],"role":"symbol","title":"String","roleHeading":"Extended Structure","fragments":[{"kind":"keyword","text":"extension"},{"kind":"text","text":" "},{"kind":"identifier","text":"String","preciseIdentifier":"s:SS"}],"symbolKind":"extension","externalID":"s:e:s:SS12IOTBluetoothE4data10Foundation4DataVSgvp","extendedModule":"Swift","modules":[{"name":"IOTBluetooth","relatedModules":["Swift"]}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift/String":{"role":"symbol","title":"String","fragments":[{"kind":"keyword","text":"extension"},{"kind":"text","text":" "},{"kind":"identifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/String","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"String"}],"url":"\/documentation\/iotbluetooth\/swift\/string"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift":{"role":"collection","title":"Swift","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/swift"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift/String/binary":{"role":"symbol","title":"binary","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"binary"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"补足8位(长度为8的整数倍)"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/String\/binary","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/swift\/string\/binary"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift/String/data":{"role":"symbol","title":"data","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"data"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Data","preciseIdentifier":"s:10Foundation4DataV"},{"kind":"text","text":"?"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/String\/data","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/swift\/string\/data"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"binary"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":" { "},{"kind":"keyword","text":"get"},{"kind":"text","text":" }"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/swift\/string\/binary"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/String\/binary","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"补足8位(长度为8的整数倍)"}],"kind":"symbol","metadata":{"role":"symbol","title":"binary","roleHeading":"Instance Property","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"binary"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"symbolKind":"property","externalID":"s:SS12IOTBluetoothE6binarySSvp","extendedModule":"Swift","modules":[{"name":"IOTBluetooth","relatedModules":["Swift"]}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/String"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift/String/binary":{"role":"symbol","title":"binary","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"binary"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"补足8位(长度为8的整数倍)"}],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/String\/binary","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/swift\/string\/binary"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift/String":{"role":"symbol","title":"String","fragments":[{"kind":"keyword","text":"extension"},{"kind":"text","text":" "},{"kind":"identifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/String","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"String"}],"url":"\/documentation\/iotbluetooth\/swift\/string"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift":{"role":"collection","title":"Swift","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/swift"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"data"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Data","preciseIdentifier":"s:10Foundation4DataV"},{"kind":"text","text":"? { "},{"kind":"keyword","text":"get"},{"kind":"text","text":" }"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/swift\/string\/data"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/String\/data","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"role":"symbol","title":"data","roleHeading":"Instance Property","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"data"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Data","preciseIdentifier":"s:10Foundation4DataV"},{"kind":"text","text":"?"}],"symbolKind":"property","externalID":"s:SS12IOTBluetoothE4data10Foundation4DataVSgvp","extendedModule":"Swift","modules":[{"name":"IOTBluetooth","relatedModules":["Swift"]}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/String"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift":{"role":"collection","title":"Swift","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/swift"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift/String":{"role":"symbol","title":"String","fragments":[{"kind":"keyword","text":"extension"},{"kind":"text","text":" "},{"kind":"identifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/String","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"String"}],"url":"\/documentation\/iotbluetooth\/swift\/string"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift/String/data":{"role":"symbol","title":"data","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"data"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Data","preciseIdentifier":"s:10Foundation4DataV"},{"kind":"text","text":"?"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/String\/data","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/swift\/string\/data"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"extension"},{"kind":"text","text":" "},{"kind":"typeIdentifier","text":"UInt8","preciseIdentifier":"s:s5UInt8V"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/swift\/uint8"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/UInt8","interfaceLanguage":"swift"},"topicSections":[{"title":"Instance Properties","identifiers":["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/UInt8\/int"]}],"kind":"symbol","metadata":{"navigatorTitle":[{"kind":"identifier","text":"UInt8"}],"role":"symbol","title":"UInt8","roleHeading":"Extended Structure","fragments":[{"kind":"keyword","text":"extension"},{"kind":"text","text":" "},{"kind":"identifier","text":"UInt8","preciseIdentifier":"s:s5UInt8V"}],"symbolKind":"extension","externalID":"s:e:s:s5UInt8V12IOTBluetoothE3intSivp","extendedModule":"Swift","modules":[{"name":"IOTBluetooth","relatedModules":["Swift"]}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift":{"role":"collection","title":"Swift","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/swift"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift/UInt8":{"role":"symbol","title":"UInt8","fragments":[{"kind":"keyword","text":"extension"},{"kind":"text","text":" "},{"kind":"identifier","text":"UInt8","preciseIdentifier":"s:s5UInt8V"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/UInt8","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"UInt8"}],"url":"\/documentation\/iotbluetooth\/swift\/uint8"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift/UInt8/int":{"role":"symbol","title":"int","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"int"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/UInt8\/int","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/swift\/uint8\/int"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"}}}
\ No newline at end of file
--- /dev/null
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"int"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":" { "},{"kind":"keyword","text":"get"},{"kind":"text","text":" }"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/iotbluetooth\/swift\/uint8\/int"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/UInt8\/int","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"role":"symbol","title":"int","roleHeading":"Instance Property","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"int"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"symbolKind":"property","externalID":"s:s5UInt8V12IOTBluetoothE3intSivp","extendedModule":"Swift","modules":[{"name":"IOTBluetooth","relatedModules":["Swift"]}]},"hierarchy":{"paths":[["doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift","doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/UInt8"]]},"references":{"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift/UInt8":{"role":"symbol","title":"UInt8","fragments":[{"kind":"keyword","text":"extension"},{"kind":"text","text":" "},{"kind":"identifier","text":"UInt8","preciseIdentifier":"s:s5UInt8V"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/UInt8","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"UInt8"}],"url":"\/documentation\/iotbluetooth\/swift\/uint8"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth":{"role":"collection","title":"IOTBluetooth","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift/UInt8/int":{"role":"symbol","title":"int","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"int"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift\/UInt8\/int","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/swift\/uint8\/int"},"doc://com.thisiot.IOTBluetooth/documentation/IOTBluetooth/Swift":{"role":"collection","title":"Swift","abstract":[],"identifier":"doc:\/\/com.thisiot.IOTBluetooth\/documentation\/IOTBluetooth\/Swift","kind":"symbol","type":"topic","url":"\/documentation\/iotbluetooth\/swift"}}}
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+<!--
+ This source file is part of the Swift.org open source project
+
+ Copyright (c) 2021 Apple Inc. and the Swift project authors
+ Licensed under Apache License v2.0 with Runtime Library Exception
+
+ See https://swift.org/LICENSE.txt for license information
+ See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+-->
+
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 25 25"><path d="M12.5.5a12,12,0,1,0,12,12A12,12,0,0,0,12.5.5ZM1.525,13H6.014a20.83,20.83,0,0,0,.469,4.031h-4A10.924,10.924,0,0,1,1.525,13ZM13,6.969V1.552c1.734.339,3.32,2.417,4.222,5.417Zm4.49,1a19.808,19.808,0,0,1,.5,4.031H13V7.969ZM12,1.552V6.969H7.778C8.68,3.969,10.266,1.891,12,1.552Zm0,6.417V12H7.013a19.808,19.808,0,0,1,.5-4.031ZM6.014,12H1.525a10.924,10.924,0,0,1,.96-4.031h4A20.83,20.83,0,0,0,6.014,12Zm1,1H12v4.031H7.51A19.808,19.808,0,0,1,7.013,13ZM12,18.031v5.417c-1.734-.339-3.32-2.417-4.222-5.417Zm1,5.417V18.031h4.222C16.32,21.031,14.734,23.109,13,23.448Zm0-6.417V13h4.987a19.808,19.808,0,0,1-.5,4.031ZM18.986,13h4.489a10.924,10.924,0,0,1-.96,4.031h-4A20.83,20.83,0,0,0,18.986,13Zm0-1a20.83,20.83,0,0,0-.469-4.031h4A10.924,10.924,0,0,1,23.475,12ZM22,6.969H18.265A11.6,11.6,0,0,0,15.6,1.951,11.007,11.007,0,0,1,22,6.969ZM9.4,1.951A11.6,11.6,0,0,0,6.735,6.969H3A11.007,11.007,0,0,1,9.4,1.951ZM3,18.031H6.735A11.6,11.6,0,0,0,9.4,23.049,11.007,11.007,0,0,1,3,18.031Zm12.6,5.018a11.6,11.6,0,0,0,2.665-5.018H22A11.007,11.007,0,0,1,15.6,23.049Z" fill-rule="evenodd"/></svg>
\ No newline at end of file
--- /dev/null
+<!--
+ This source file is part of the Swift.org open source project
+
+ Copyright (c) 2021 Apple Inc. and the Swift project authors
+ Licensed under Apache License v2.0 with Runtime Library Exception
+
+ See https://swift.org/LICENSE.txt for license information
+ See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+-->
+
+<svg xmlns="http://www.w3.org/2000/svg" fill="rgb(102, 102, 102)" viewBox="0 0 20 20"><path d="M17.025,2.975A9.935,9.935,0,0,0,2.846,16.9c.042.043.085.087.129.129A9.935,9.935,0,0,0,17.154,3.1C17.112,3.061,17.069,3.017,17.025,2.975ZM5.414,10.8V9.266H9.236V5.43h1.528V9.266h3.822V10.8H10.764V14.6H9.236V10.8Z"/></svg>
\ No newline at end of file
--- /dev/null
+<!--
+ This source file is part of the Swift.org open source project
+
+ Copyright (c) 2021 Apple Inc. and the Swift project authors
+ Licensed under Apache License v2.0 with Runtime Library Exception
+
+ See https://swift.org/LICENSE.txt for license information
+ See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+-->
+
+<svg xmlns="http://www.w3.org/2000/svg" fill="rgb(102, 102, 102)" viewBox="0 0 20 20"><path d="M10,0A10,10,0,1,1,0,10H0A10,10,0,0,1,10,0Zm4.615,9.262H5.385V10.8h9.23Z" fill-rule="evenodd"/></svg>
\ No newline at end of file
--- /dev/null
+<!--
+ This source file is part of the Swift.org open source project
+
+ Copyright (c) 2021 Apple Inc. and the Swift project authors
+ Licensed under Apache License v2.0 with Runtime Library Exception
+
+ See https://swift.org/LICENSE.txt for license information
+ See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+-->
+
+<svg xmlns="http://www.w3.org/2000/svg" fill="rgb(102, 102, 102)" viewBox="0 0 20 20"><path d="M10,0A10,10,0,1,1,0,10H0A10,10,0,0,1,10,0Zm4.477,8.705c-.129.186-.259.377-.388.57a3.817,3.817,0,0,1-.42.528,2.046,2.046,0,0,1-.5.388,1.215,1.215,0,0,1-.592.154,2.492,2.492,0,0,1-1.034-.259c-.374-.172-.757-.358-1.153-.56s-.8-.388-1.206-.56a3.073,3.073,0,0,0-1.2-.258,2.9,2.9,0,0,0-1.12.2,3.211,3.211,0,0,0-.883.539,3.553,3.553,0,0,0-.668.769c-.125.191-.235.383-.335.574l-.139.288,1.163,1.033a4.364,4.364,0,0,1,.722-1.109,1.468,1.468,0,0,1,1.144-.529,2.547,2.547,0,0,1,1.088.258q.549.259,1.12.56t1.185.56a3.259,3.259,0,0,0,1.281.259,2.465,2.465,0,0,0,1.034-.205,3.122,3.122,0,0,0,.819-.538,4.827,4.827,0,0,0,.667-.754c.134-.186.262-.379.383-.574l.177-.3Z" fill-rule="evenodd"/></svg>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
--- /dev/null
+{"interfaceLanguages":{"occ":[{"children":[{"title":"Variables","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/iotbluetoothversionnumber","title":"IOTBluetoothVersionNumber","type":"var"},{"path":"\/documentation\/iotbluetooth\/iotbluetoothversionstring","title":"IOTBluetoothVersionString","type":"var"}],"path":"\/documentation\/iotbluetooth","title":"IOTBluetooth","type":"module"}],"swift":[{"children":[{"title":"Classes","type":"groupMarker"},{"children":[{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibability\/description","title":"var description: String","type":"property"},{"title":"Type Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibability\/about","title":"static let about: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/addressbook","title":"static let addressBook: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/auxiliary","title":"static let auxiliary: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/bloodoxygen","title":"static let bloodOxygen: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/checkdialid","title":"static let checkDialID: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/currentheartrate","title":"static let currentHeartRate: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/deletedial","title":"static let deleteDial: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/deletefile","title":"static let deleteFile: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/deletefiles","title":"static let deleteFiles: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/dial","title":"static let dial: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/disk","title":"static let disk: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/endsport","title":"static let endSport: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/fetchauxiliary","title":"static let fetchAuxiliary: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/fetchbattery","title":"static let fetchBattery: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/fetchbloodoxygen","title":"static let fetchBloodOxygen: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/fetchclock","title":"static let fetchClock: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/fetchcurrentdialid","title":"static let fetchCurrentDialId: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/fetchdials","title":"static let fetchDials: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/fetchfiles","title":"static let fetchFiles: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/fetchheartrate","title":"static let fetchHeartRate: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/fetchothertarget","title":"static let fetchOtherTarget: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/fetchscreen","title":"static let fetchScreen: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/fetchsleep","title":"static let fetchSleep: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/fetchtargetstep","title":"static let fetchTargetStep: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/fetchvibratesound","title":"static let fetchVibrateSound: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/fetchwatchstate","title":"static let fetchWatchState: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/fetchwater","title":"static let fetchWater: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/find","title":"static let find: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/heartrate","title":"static let heartRate: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/heartratehigh","title":"static let heartRateHigh: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/heartratemode","title":"static let heartRateMode: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/language","title":"static let language: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/message","title":"static let message: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/mp3","title":"static let mp3: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/ota","title":"static let ota: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/reboot","title":"static let reboot: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/restore","title":"static let restore: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/revokefilesend","title":"static let revokeFileSend: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/screen","title":"static let screen: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/sendphone","title":"static let sendPhone: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/sendsyncend","title":"static let sendSyncEnd: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/sendtime","title":"static let sendTime: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/sendunpair","title":"static let sendUnpair: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/sendweather","title":"static let sendWeather: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/setclock","title":"static let setClock: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/shutdown","title":"static let shutdown: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/sleep","title":"static let sleep: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/startsport","title":"static let startSport: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/switchdial","title":"static let switchDial: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/syncbloodoxygen","title":"static let syncBloodOxygen: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/synccalorie","title":"static let syncCalorie: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/syncdistance","title":"static let syncDistance: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/syncfatburning","title":"static let syncFatBurning: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/syncgps","title":"static let syncGPS: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/syncheartrate","title":"static let syncHeartRate: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/syncsleep","title":"static let syncSleep: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/syncstand","title":"static let syncStand: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/syncstepcount","title":"static let syncStepCount: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/synctrain","title":"static let syncTrain: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/takephoto","title":"static let takePhoto: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/targetother","title":"static let targetOther: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/targetstep","title":"static let targetStep: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/trainfrequency","title":"static let trainFrequency: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/trainpauseresume","title":"static let trainPauseResume: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/traintarget","title":"static let trainTarget: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/unit","title":"static let unit: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/unpair","title":"static let unpair: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/userdata","title":"static let userData: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/vibratesound","title":"static let vibrateSound: IBAbility","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibability\/water","title":"static let water: IBAbility","type":"property"}],"path":"\/documentation\/iotbluetooth\/ibability","title":"IBAbility","type":"class"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibabout\/init()","title":"init()","type":"init"},{"path":"\/documentation\/iotbluetooth\/ibabout\/init(from:)","title":"init(from: Decoder) throws","type":"init"},{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibabout\/code","title":"var code: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibabout\/macaddress","title":"var macAddress: String","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibabout\/major","title":"var major: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibabout\/mid","title":"var mid: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibabout\/minor","title":"var minor: Int","type":"property"}],"path":"\/documentation\/iotbluetooth\/ibabout","title":"IBAbout","type":"class"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibaddress\/init()","title":"init()","type":"init"},{"path":"\/documentation\/iotbluetooth\/ibaddress\/init(from:)","title":"init(from: Decoder) throws","type":"init"},{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibaddress\/atm","title":"var atm: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibaddress\/city","title":"var city: String","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibaddress\/lat","title":"var lat: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibaddress\/lon","title":"var lon: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibaddress\/sublocality","title":"var subLocality: String","type":"property"}],"path":"\/documentation\/iotbluetooth\/ibaddress","title":"IBAddress","type":"class"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibaddressbook\/init()","title":"init()","type":"init"},{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibaddressbook\/description","title":"var description: String","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibaddressbook\/gender","title":"var gender: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibaddressbook\/name","title":"var name: String?","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibaddressbook\/phonenumbers","title":"var phoneNumbers: [IBPhoneNumber]","type":"property"}],"path":"\/documentation\/iotbluetooth\/ibaddressbook","title":"IBAddressBook","type":"class"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibairesponse\/init()","title":"init()","type":"init"},{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibairesponse\/description","title":"var description: String","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibairesponse\/value","title":"var value: String","type":"property"}],"path":"\/documentation\/iotbluetooth\/ibairesponse","title":"IBAiResponse","type":"class"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibbloodoxygen\/init()","title":"init()","type":"init"},{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibbloodoxygen\/rate","title":"var rate: IBBloodOxygenFrequency","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibbloodoxygen\/state","title":"var state: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibbloodoxygen\/value","title":"var value: Int","type":"property"}],"path":"\/documentation\/iotbluetooth\/ibbloodoxygen","title":"IBBloodOxygen","type":"class"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibclock\/init()","title":"init()","type":"init"},{"path":"\/documentation\/iotbluetooth\/ibclock\/init(from:)","title":"init(from: Decoder) throws","type":"init"},{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibclock\/alarms","title":"var alarms: [IBClockInfo]","type":"property"}],"path":"\/documentation\/iotbluetooth\/ibclock","title":"IBClock","type":"class"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibclockinfo\/init()","title":"init()","type":"init"},{"path":"\/documentation\/iotbluetooth\/ibclockinfo\/init(from:)","title":"init(from: Decoder) throws","type":"init"},{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibclockinfo\/enable","title":"var enable: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibclockinfo\/hour","title":"var hour: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibclockinfo\/id","title":"var id: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibclockinfo\/minute","title":"var minute: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibclockinfo\/repeat","title":"var `repeat`: [Int]","type":"property"}],"path":"\/documentation\/iotbluetooth\/ibclockinfo","title":"IBClockInfo","type":"class"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibdeletefile\/init()","title":"init()","type":"init"},{"path":"\/documentation\/iotbluetooth\/ibdeletefile\/init(from:)","title":"init(from: Decoder) throws","type":"init"},{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibdeletefile\/description","title":"var description: String","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibdeletefile\/filetype","title":"var fileType: IBFile","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibdeletefile\/uids","title":"var uids: [Int]","type":"property"}],"path":"\/documentation\/iotbluetooth\/ibdeletefile","title":"IBDeleteFile","type":"class"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibdial\/init()","title":"init()","type":"init"},{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibdial\/uid","title":"var UID: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibdial\/batterystyle","title":"var batteryStyle: Int?","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibdial\/description","title":"var description: String","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibdial\/files","title":"var files: [IBDialFile]?","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibdial\/theme","title":"var theme: String?","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibdial\/timecolor","title":"var timeColor: Int?","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibdial\/timestyle","title":"var timeStyle: Int?","type":"property"}],"path":"\/documentation\/iotbluetooth\/ibdial","title":"IBDial","type":"class"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibdialfile\/init()","title":"init()","type":"init"},{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibdialfile\/description","title":"var description: String","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibdialfile\/filename","title":"var fileName: String","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibdialfile\/filepath","title":"var filePath: String","type":"property"}],"path":"\/documentation\/iotbluetooth\/ibdialfile","title":"IBDialFile","type":"class"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibepo\/init()","title":"init()","type":"init"},{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibepo\/uid","title":"var UID: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibepo\/description","title":"var description: String","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibepo\/filename","title":"var fileName: String","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibepo\/filepath","title":"var filePath: String","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibepo\/namelength","title":"var nameLength: Int","type":"property"}],"path":"\/documentation\/iotbluetooth\/ibepo","title":"IBEpo","type":"class"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibfetchdialitem\/init()","title":"init()","type":"init"},{"path":"\/documentation\/iotbluetooth\/ibfetchdialitem\/init(from:)","title":"init(from: Decoder) throws","type":"init"}],"path":"\/documentation\/iotbluetooth\/ibfetchdialitem","title":"IBFetchDialItem","type":"class"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibfetchfile\/init()","title":"init()","type":"init"},{"path":"\/documentation\/iotbluetooth\/ibfetchfile\/init(from:)","title":"init(from: Decoder) throws","type":"init"}],"path":"\/documentation\/iotbluetooth\/ibfetchfile","title":"IBFetchFile","type":"class"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibfetchmp3item\/init()","title":"init()","type":"init"},{"path":"\/documentation\/iotbluetooth\/ibfetchmp3item\/init(from:)","title":"init(from: Decoder) throws","type":"init"}],"path":"\/documentation\/iotbluetooth\/ibfetchmp3item","title":"IBFetchMp3Item","type":"class"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibfilesender\/init()","title":"init()","type":"init"},{"title":"Instance Methods","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibfilesender\/dial(_:)","title":"func dial(IBDial) -> Self","type":"method"},{"path":"\/documentation\/iotbluetooth\/ibfilesender\/mp3(_:)","title":"func mp3(IBSendMp3) -> Self","type":"method"},{"path":"\/documentation\/iotbluetooth\/ibfilesender\/ota(_:)","title":"func ota(IBSendOta) -> Self","type":"method"},{"path":"\/documentation\/iotbluetooth\/ibfilesender\/progress(_:)","title":"func progress(IBProgressHandler) -> Self","type":"method"},{"path":"\/documentation\/iotbluetooth\/ibfilesender\/response(_:)","title":"func response(IBCompletionHandler) -> Self","type":"method"},{"path":"\/documentation\/iotbluetooth\/ibfilesender\/revokefilesend(_:)","title":"func revokeFileSend(IBCompletionHandler)","type":"method"}],"path":"\/documentation\/iotbluetooth\/ibfilesender","title":"IBFileSender","type":"class"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibheartrate\/init()","title":"init()","type":"init"},{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibheartrate\/higherorlower","title":"var higherOrLower: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibheartrate\/rate","title":"var rate: IBHeartRateFrequency","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibheartrate\/state","title":"var state: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibheartrate\/value","title":"var value: Int","type":"property"}],"path":"\/documentation\/iotbluetooth\/ibheartrate","title":"IBHeartRate","type":"class"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/init(from:)","title":"init(from: Decoder) throws","type":"init"},{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/calorie","title":"var calorie: Int?","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/circle","title":"var circle: Int?","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/distance","title":"var distance: Int?","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/duration","title":"var duration: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/elevation","title":"var elevation: Int?","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/heartrate","title":"var heartRate: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/othertype","title":"var otherType: Int?","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/progress","title":"var progress: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/source","title":"var source: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/star","title":"var star: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/step","title":"var step: Int?","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/stop","title":"var stop: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/target","title":"var target: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/targettype","title":"var targetType: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/traininglevel","title":"var trainingLevel: Int?","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem\/trainingtype","title":"var trainingType: Int","type":"property"}],"path":"\/documentation\/iotbluetooth\/ibhistorybasetrainingitem","title":"IBHistoryBaseTrainingItem","type":"class"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibhistorybloodoxygenitem\/init()","title":"init()","type":"init"},{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibhistorybloodoxygenitem\/time","title":"var time: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibhistorybloodoxygenitem\/value","title":"var value: Int","type":"property"}],"path":"\/documentation\/iotbluetooth\/ibhistorybloodoxygenitem","title":"IBHistoryBloodOxygenItem","type":"class"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibhistoryburningitem\/init()","title":"init()","type":"init"},{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibhistoryburningitem\/time","title":"var time: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibhistoryburningitem\/value","title":"var value: Int","type":"property"}],"path":"\/documentation\/iotbluetooth\/ibhistoryburningitem","title":"IBHistoryBurningItem","type":"class"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibhistorycalorieitem\/init()","title":"init()","type":"init"},{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibhistorycalorieitem\/time","title":"var time: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibhistorycalorieitem\/value","title":"var value: Float","type":"property"}],"path":"\/documentation\/iotbluetooth\/ibhistorycalorieitem","title":"IBHistoryCalorieItem","type":"class"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibhistorydistanceitem\/init()","title":"init()","type":"init"},{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibhistorydistanceitem\/time","title":"var time: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibhistorydistanceitem\/value","title":"var value: Float","type":"property"}],"path":"\/documentation\/iotbluetooth\/ibhistorydistanceitem","title":"IBHistoryDistanceItem","type":"class"},{"path":"\/documentation\/iotbluetooth\/ibhistorygps","title":"IBHistoryGps","type":"class"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibhistorygpsitem\/init()","title":"init()","type":"init"},{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibhistorygpsitem\/lat","title":"var lat: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibhistorygpsitem\/lon","title":"var lon: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibhistorygpsitem\/time","title":"var time: Int","type":"property"}],"path":"\/documentation\/iotbluetooth\/ibhistorygpsitem","title":"IBHistoryGpsItem","type":"class"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibhistoryheartrateitem\/init()","title":"init()","type":"init"},{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibhistoryheartrateitem\/time","title":"var time: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibhistoryheartrateitem\/value","title":"var value: Int","type":"property"}],"path":"\/documentation\/iotbluetooth\/ibhistoryheartrateitem","title":"IBHistoryHeartRateItem","type":"class"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibhistorysleepitem\/init()","title":"init()","type":"init"},{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibhistorysleepitem\/awake","title":"var awake: IBSleepTime?","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibhistorysleepitem\/deepsleep","title":"var deepSleep: IBSleepTime?","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibhistorysleepitem\/endtime","title":"var endTime: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibhistorysleepitem\/lightsleep","title":"var lightSleep: IBSleepTime?","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibhistorysleepitem\/remsleep","title":"var remSleep: IBSleepTime?","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibhistorysleepitem\/sleepid","title":"var sleepId: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibhistorysleepitem\/starttime","title":"var startTime: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibhistorysleepitem\/states","title":"var states: [IBSleepState]?","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibhistorysleepitem\/totalsleep","title":"var totalSleep: IBSleepTime","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibhistorysleepitem\/type","title":"var type: Int","type":"property"}],"path":"\/documentation\/iotbluetooth\/ibhistorysleepitem","title":"IBHistorySleepItem","type":"class"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibhistorystanditem\/init()","title":"init()","type":"init"},{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibhistorystanditem\/time","title":"var time: Int","type":"property"}],"path":"\/documentation\/iotbluetooth\/ibhistorystanditem","title":"IBHistoryStandItem","type":"class"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibhistorystepitem\/init()","title":"init()","type":"init"},{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibhistorystepitem\/time","title":"var time: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibhistorystepitem\/value","title":"var value: Int","type":"property"}],"path":"\/documentation\/iotbluetooth\/ibhistorystepitem","title":"IBHistoryStepItem","type":"class"},{"children":[{"title":"Type Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibmanager\/currentconnected","title":"static var currentConnected: IBPeripheral!","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibmanager\/isdebug","title":"static var isDebug: Bool","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibmanager\/logs","title":"static var logs: [String]","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibmanager\/version","title":"static let version: String","type":"property"},{"title":"Type Methods","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibmanager\/cancel(_:)","title":"static func cancel(IBPeripheral)","type":"method"},{"path":"\/documentation\/iotbluetooth\/ibmanager\/connect(_:completehandler:)","title":"static func connect(IBPeripheral, completeHandler: IBCompleteHandler)","type":"method"},{"path":"\/documentation\/iotbluetooth\/ibmanager\/initializationsdk()","title":"static func initializationSDK()","type":"method"},{"path":"\/documentation\/iotbluetooth\/ibmanager\/remove(_:)","title":"static func remove(NSObjectProtocol)","type":"method"},{"path":"\/documentation\/iotbluetooth\/ibmanager\/scan(_:discoverhandler:)","title":"static func scan(IBScanOption, discoverHandler: IBDiscoverHandler)","type":"method"},{"path":"\/documentation\/iotbluetooth\/ibmanager\/stopscan()","title":"static func stopScan()","type":"method"},{"path":"\/documentation\/iotbluetooth\/ibmanager\/subscribe(_:observer:receive:)","title":"static func subscribe(IBNotify.Name, observer: NSObjectProtocol!, receive: (_ object: Any?, _ userInfo: [String : Any]) -> Void)","type":"method"}],"path":"\/documentation\/iotbluetooth\/ibmanager","title":"IBManager","type":"class"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibmp3file\/init(from:)","title":"init(from: Decoder) throws","type":"init"}],"path":"\/documentation\/iotbluetooth\/ibmp3file","title":"IBMp3File","type":"class"},{"children":[{"title":"Structures","type":"groupMarker"},{"children":[{"title":"Type Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibnotify\/name\/connectstatedidchange","title":"static let connectStateDidChange: IBNotify.Name","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibnotify\/name\/didfinddevice","title":"static let didFindDevice: IBNotify.Name","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibnotify\/name\/takephoto","title":"static let takePhoto: IBNotify.Name","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibnotify\/name\/trainstatedidchanged","title":"static let trainStateDidChanged: IBNotify.Name","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibnotify\/name\/trainingdata","title":"static let trainingData: IBNotify.Name","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibnotify\/name\/weather","title":"static let weather: IBNotify.Name","type":"property"}],"path":"\/documentation\/iotbluetooth\/ibnotify\/name","title":"IBNotify.Name","type":"struct"}],"path":"\/documentation\/iotbluetooth\/ibnotify","title":"IBNotify","type":"class"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibotafile\/init(from:)","title":"init(from: Decoder) throws","type":"init"}],"path":"\/documentation\/iotbluetooth\/ibotafile","title":"IBOtaFile","type":"class"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibothertarget\/init()","title":"init()","type":"init"},{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibothertarget\/burning","title":"var burning: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibothertarget\/calorie","title":"var calorie: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibothertarget\/mileage","title":"var mileage: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibothertarget\/noticestate","title":"var noticeState: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibothertarget\/ringsstate","title":"var ringsState: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibothertarget\/stand","title":"var stand: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibothertarget\/vibratestate","title":"var vibrateState: Int","type":"property"}],"path":"\/documentation\/iotbluetooth\/ibothertarget","title":"IBOtherTarget","type":"class"},{"children":[{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibperipheral\/advertisementdata","title":"var advertisementData: [String : Any]","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibperipheral\/battery","title":"var battery: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibperipheral\/macaddress","title":"var macAddress: String","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibperipheral\/name","title":"var name: String","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibperipheral\/peripheral","title":"var peripheral: CBPeripheral!","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibperipheral\/rssi","title":"var rssi: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibperipheral\/softwareversion","title":"var softwareVersion: String","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibperipheral\/uuid","title":"var uuid: UUID!","type":"property"}],"path":"\/documentation\/iotbluetooth\/ibperipheral","title":"IBPeripheral","type":"class"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibphoneinfo\/init()","title":"init()","type":"init"},{"path":"\/documentation\/iotbluetooth\/ibphoneinfo\/init(from:)","title":"init(from: Decoder) throws","type":"init"},{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibphoneinfo\/mac","title":"var mac: [Int]?","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibphoneinfo\/name","title":"var name: String","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibphoneinfo\/type","title":"var type: Int","type":"property"}],"path":"\/documentation\/iotbluetooth\/ibphoneinfo","title":"IBPhoneInfo","type":"class"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibphonenumber\/init()","title":"init()","type":"init"},{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibphonenumber\/description","title":"var description: String","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibphonenumber\/location","title":"var location: String?","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibphonenumber\/number","title":"var number: String","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibphonenumber\/operator","title":"var `operator`: String?","type":"property"}],"path":"\/documentation\/iotbluetooth\/ibphonenumber","title":"IBPhoneNumber","type":"class"},{"children":[{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibresponse\/code","title":"var code: IBCode","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibresponse\/description","title":"var description: String","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibresponse\/issuccess","title":"var isSuccess: Bool","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibresponse\/items","title":"var items: [Any]","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibresponse\/message","title":"var message: String","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibresponse\/value","title":"var value: Any?","type":"property"}],"path":"\/documentation\/iotbluetooth\/ibresponse","title":"IBResponse","type":"class"},{"path":"\/documentation\/iotbluetooth\/ibresponsemodel","title":"IBResponseModel","type":"class"},{"children":[{"title":"Instance Methods","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibscanoption\/allowduplicates(_:)","title":"func allowDuplicates(Bool) -> Self","type":"method"},{"path":"\/documentation\/iotbluetooth\/ibscanoption\/solicited(_:)","title":"func solicited([String]) -> Self","type":"method"},{"title":"Type Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibscanoption\/custom","title":"static var custom: IBScanOption","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibscanoption\/default","title":"static let `default`: IBScanOption","type":"property"}],"path":"\/documentation\/iotbluetooth\/ibscanoption","title":"IBScanOption","type":"class"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibscreen\/init()","title":"init()","type":"init"},{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibscreen\/brightness","title":"var brightness: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibscreen\/duration","title":"var duration: IBDuration","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibscreen\/wrist","title":"var wrist: Int","type":"property"}],"path":"\/documentation\/iotbluetooth\/ibscreen","title":"IBScreen","type":"class"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibscreenconfig\/init()","title":"init()","type":"init"},{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibscreenconfig\/brightness","title":"var brightness: Int?","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibscreenconfig\/duration","title":"var duration: IBDuration?","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibscreenconfig\/type","title":"var type: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibscreenconfig\/wrist","title":"var wrist: Int?","type":"property"}],"path":"\/documentation\/iotbluetooth\/ibscreenconfig","title":"IBScreenConfig","type":"class"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibsendmp3\/init()","title":"init()","type":"init"},{"path":"\/documentation\/iotbluetooth\/ibsendmp3\/init(from:)","title":"init(from: Decoder) throws","type":"init"},{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibsendmp3\/filepath","title":"var filePath: String","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibsendmp3\/name","title":"var name: String","type":"property"}],"path":"\/documentation\/iotbluetooth\/ibsendmp3","title":"IBSendMp3","type":"class"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibsendota\/init()","title":"init()","type":"init"},{"path":"\/documentation\/iotbluetooth\/ibsendota\/init(from:)","title":"init(from: Decoder) throws","type":"init"},{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibsendota\/filepath","title":"var filePath: String","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibsendota\/isforced","title":"var isForced: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibsendota\/major","title":"var major: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibsendota\/mid","title":"var mid: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibsendota\/minor","title":"var minor: Int","type":"property"}],"path":"\/documentation\/iotbluetooth\/ibsendota","title":"IBSendOta","type":"class"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibsendtime\/init()","title":"init()","type":"init"},{"path":"\/documentation\/iotbluetooth\/ibsendtime\/init(from:)","title":"init(from: Decoder) throws","type":"init"},{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibsendtime\/day","title":"var day: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibsendtime\/hour","title":"var hour: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibsendtime\/minute","title":"var minute: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibsendtime\/month","title":"var month: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibsendtime\/second","title":"var second: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibsendtime\/time","title":"var time: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibsendtime\/week","title":"var week: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibsendtime\/year","title":"var year: Int","type":"property"}],"path":"\/documentation\/iotbluetooth\/ibsendtime","title":"IBSendTime","type":"class"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibsender\/init()","title":"init()","type":"init"},{"title":"Instance Methods","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibsender\/ability(_:)","title":"func ability(IBAbility) -> Self","type":"method"},{"path":"\/documentation\/iotbluetooth\/ibsender\/parameters(_:)","title":"func parameters([IBParameter]) -> Self","type":"method"},{"path":"\/documentation\/iotbluetooth\/ibsender\/response(_:)","title":"func response(IBCompletionHandler) -> Self","type":"method"}],"path":"\/documentation\/iotbluetooth\/ibsender","title":"IBSender","type":"class"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibsleep\/init()","title":"init()","type":"init"},{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibsleep\/alertbeforemin20","title":"var alertBeforeMin20: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibsleep\/getuptime","title":"var getUpTime: IBTimeItem?","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibsleep\/sleeptime","title":"var sleepTime: IBTimeItem?","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibsleep\/sleeptimeset","title":"var sleepTimeSet: Int","type":"property"}],"path":"\/documentation\/iotbluetooth\/ibsleep","title":"IBSleep","type":"class"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibtargetstep\/init()","title":"init()","type":"init"},{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibtargetstep\/notice","title":"var notice: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibtargetstep\/ring","title":"var ring: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibtargetstep\/value","title":"var value: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibtargetstep\/vibrate","title":"var vibrate: Int","type":"property"}],"path":"\/documentation\/iotbluetooth\/ibtargetstep","title":"IBTargetStep","type":"class"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibtarinstate\/init()","title":"init()","type":"init"},{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibtarinstate\/description","title":"var description: String","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibtarinstate\/duration","title":"var duration: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibtarinstate\/state","title":"var state: Int","type":"property"}],"path":"\/documentation\/iotbluetooth\/ibtarinstate","title":"IBTarinState","type":"class"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibtraintarget\/init()","title":"init()","type":"init"},{"path":"\/documentation\/iotbluetooth\/ibtraintarget\/init(from:)","title":"init(from: Decoder) throws","type":"init"},{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibtraintarget\/calorie","title":"var calorie: Int?","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibtraintarget\/distance","title":"var distance: Int?","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibtraintarget\/step","title":"var step: Int?","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibtraintarget\/time","title":"var time: Int?","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibtraintarget\/type","title":"var type: IBTrainTargetType","type":"property"}],"path":"\/documentation\/iotbluetooth\/ibtraintarget","title":"IBTrainTarget","type":"class"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibuserinfo\/init()","title":"init()","type":"init"},{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibuserinfo\/age","title":"var age: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibuserinfo\/burning","title":"var burning: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibuserinfo\/description","title":"var description: String","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibuserinfo\/gender","title":"var gender: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibuserinfo\/height","title":"var height: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibuserinfo\/hoursystem","title":"var hourSystem: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibuserinfo\/stand","title":"var stand: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibuserinfo\/step","title":"var step: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibuserinfo\/weight","title":"var weight: Int","type":"property"}],"path":"\/documentation\/iotbluetooth\/ibuserinfo","title":"IBUserInfo","type":"class"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibvibrateconfig\/init()","title":"init()","type":"init"},{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibvibrateconfig\/ringsstate","title":"var ringsState: Int?","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibvibrateconfig\/ringsvalue","title":"var ringsValue: Int?","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibvibrateconfig\/systemvalue","title":"var systemValue: Int?","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibvibrateconfig\/type","title":"var type: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibvibrateconfig\/vibratestate","title":"var vibrateState: Int?","type":"property"}],"path":"\/documentation\/iotbluetooth\/ibvibrateconfig","title":"IBVibrateConfig","type":"class"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibvibratesound\/init()","title":"init()","type":"init"},{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibvibratesound\/mediavalue","title":"var mediaValue: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibvibratesound\/ringsstate","title":"var ringsState: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibvibratesound\/ringsvalue","title":"var ringsValue: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibvibratesound\/systemvalue","title":"var systemValue: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibvibratesound\/vibratestate","title":"var vibrateState: Int","type":"property"}],"path":"\/documentation\/iotbluetooth\/ibvibratesound","title":"IBVibrateSound","type":"class"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibwater\/init()","title":"init()","type":"init"},{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibwater\/alertstate","title":"var alertState: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibwater\/alerttype","title":"var alertType: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibwater\/drinkingvalue","title":"var drinkingValue: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibwater\/end","title":"var end: IBTimeItem","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibwater\/frequency","title":"var frequency: IBFrequency","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibwater\/start","title":"var start: IBTimeItem","type":"property"}],"path":"\/documentation\/iotbluetooth\/ibwater","title":"IBWater","type":"class"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibweather\/init()","title":"init()","type":"init"},{"path":"\/documentation\/iotbluetooth\/ibweather\/init(from:)","title":"init(from: Decoder) throws","type":"init"},{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibweather\/address","title":"var address: IBAddress","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibweather\/daily","title":"var daily: [IBWeatherInfo]","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibweather\/now","title":"var now: IBWeatherNow","type":"property"}],"path":"\/documentation\/iotbluetooth\/ibweather","title":"IBWeather","type":"class"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibweatherinfo\/init()","title":"init()","type":"init"},{"path":"\/documentation\/iotbluetooth\/ibweatherinfo\/init(from:)","title":"init(from: Decoder) throws","type":"init"},{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibweatherinfo\/fxdate","title":"var fxDate: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibweatherinfo\/iconday","title":"var iconDay: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibweatherinfo\/tempmax","title":"var tempMax: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibweatherinfo\/tempmin","title":"var tempMin: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibweatherinfo\/textday","title":"var textDay: String","type":"property"}],"path":"\/documentation\/iotbluetooth\/ibweatherinfo","title":"IBWeatherInfo","type":"class"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibweathernow\/init()","title":"init()","type":"init"},{"path":"\/documentation\/iotbluetooth\/ibweathernow\/init(from:)","title":"init(from: Decoder) throws","type":"init"},{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibweathernow\/humidity","title":"var humidity: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibweathernow\/iconnight","title":"var iconNight: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibweathernow\/temp","title":"var temp: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibweathernow\/textnight","title":"var textNight: String","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibweathernow\/uvindex","title":"var uvIndex: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibweathernow\/windscale","title":"var windScale: String","type":"property"}],"path":"\/documentation\/iotbluetooth\/ibweathernow","title":"IBWeatherNow","type":"class"},{"title":"Protocols","type":"groupMarker"},{"children":[{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibperipheraluuid\/uuid","title":"var uuid: UUID","type":"property"}],"path":"\/documentation\/iotbluetooth\/ibperipheraluuid","title":"IBPeripheralUUID","type":"protocol"},{"title":"Structures","type":"groupMarker"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibsleepstate\/init(time:state:)","title":"init(time: Int, state: Int)","type":"init"},{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibsleepstate\/state","title":"var state: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibsleepstate\/time","title":"var time: Int","type":"property"}],"path":"\/documentation\/iotbluetooth\/ibsleepstate","title":"IBSleepState","type":"struct"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibsleeptime\/init(hour:minute:)","title":"init(hour: Int, minute: Int)","type":"init"},{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibsleeptime\/hour","title":"var hour: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibsleeptime\/minute","title":"var minute: Int","type":"property"}],"path":"\/documentation\/iotbluetooth\/ibsleeptime","title":"IBSleepTime","type":"struct"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibtimeitem\/init(hour:minute:)","title":"init(hour: Int, minute: Int)","type":"init"},{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibtimeitem\/hour","title":"var hour: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibtimeitem\/minute","title":"var minute: Int","type":"property"}],"path":"\/documentation\/iotbluetooth\/ibtimeitem","title":"IBTimeItem","type":"struct"},{"children":[{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibtrainingdata\/calorie","title":"let calorie: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibtrainingdata\/description","title":"var description: String","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibtrainingdata\/distance","title":"let distance: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibtrainingdata\/heartrate","title":"let heartRate: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibtrainingdata\/intensity","title":"let intensity: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibtrainingdata\/starttime","title":"let startTime: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/ibtrainingdata\/stepcount","title":"let stepCount: Int","type":"property"}],"path":"\/documentation\/iotbluetooth\/ibtrainingdata","title":"IBTrainingData","type":"struct"},{"children":[{"title":"Type Methods","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/lrc\/calculate(_:)","title":"static func calculate([UInt8]) -> UInt8","type":"method"},{"path":"\/documentation\/iotbluetooth\/lrc\/calculatelrc(_:)","title":"static func calculateLRC([UInt8]) -> UInt8","type":"method"}],"path":"\/documentation\/iotbluetooth\/lrc","title":"LRC","type":"struct"},{"title":"Operators","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/==(_:_:)","title":"func == (IBPeripheralUUID?, IBPeripheralUUID?) -> Bool","type":"op"},{"title":"Type Aliases","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibcompletehandler","title":"IBCompleteHandler","type":"typealias"},{"path":"\/documentation\/iotbluetooth\/ibcompletionhandler","title":"IBCompletionHandler","type":"typealias"},{"path":"\/documentation\/iotbluetooth\/ibdiscoverhandler","title":"IBDiscoverHandler","type":"typealias"},{"path":"\/documentation\/iotbluetooth\/ibprogresshandler","title":"IBProgressHandler","type":"typealias"},{"title":"Enumerations","type":"groupMarker"},{"children":[{"title":"Enumeration Cases","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibauxiliary\/bloodoxygen","title":"case bloodOxygen","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibauxiliary\/bluetooth","title":"case bluetooth","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibauxiliary\/clock","title":"case clock","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibauxiliary\/compass","title":"case compass","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibauxiliary\/heart","title":"case heart","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibauxiliary\/mobile","title":"case mobile","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibauxiliary\/music","title":"case music","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibauxiliary\/record","title":"case record","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibauxiliary\/secondtimer","title":"case secondTimer","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibauxiliary\/setting","title":"case setting","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibauxiliary\/sleep","title":"case sleep","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibauxiliary\/sport","title":"case sport","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibauxiliary\/tarinrecord","title":"case tarinRecord","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibauxiliary\/timer","title":"case timer","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibauxiliary\/train","title":"case train","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibauxiliary\/weather","title":"case weather","type":"case"},{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibauxiliary\/init(rawvalue:)","title":"init?(rawValue: Int)","type":"init"},{"title":"Default Implementations","type":"groupMarker"},{"children":[{"title":"Operators","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibauxiliary\/!=(_:_:)","title":"static func != (Self, Self) -> Bool","type":"op"}],"path":"\/documentation\/iotbluetooth\/ibauxiliary\/equatable-implementations","title":"Equatable Implementations","type":"symbol"},{"children":[{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibauxiliary\/hashvalue","title":"var hashValue: Int","type":"property"},{"title":"Instance Methods","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibauxiliary\/hash(into:)","title":"func hash(into: inout Hasher)","type":"method"}],"path":"\/documentation\/iotbluetooth\/ibauxiliary\/rawrepresentable-implementations","title":"RawRepresentable Implementations","type":"symbol"}],"path":"\/documentation\/iotbluetooth\/ibauxiliary","title":"IBAuxiliary","type":"enum"},{"children":[{"title":"Enumeration Cases","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibbloodoxygenfrequency\/hour1","title":"case hour1","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibbloodoxygenfrequency\/hour2","title":"case hour2","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibbloodoxygenfrequency\/min30","title":"case min30","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibbloodoxygenfrequency\/none","title":"case none","type":"case"},{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibbloodoxygenfrequency\/init(rawvalue:)","title":"init?(rawValue: Int)","type":"init"},{"title":"Default Implementations","type":"groupMarker"},{"children":[{"title":"Operators","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibbloodoxygenfrequency\/!=(_:_:)","title":"static func != (Self, Self) -> Bool","type":"op"}],"path":"\/documentation\/iotbluetooth\/ibbloodoxygenfrequency\/equatable-implementations","title":"Equatable Implementations","type":"symbol"},{"children":[{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibbloodoxygenfrequency\/hashvalue","title":"var hashValue: Int","type":"property"},{"title":"Instance Methods","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibbloodoxygenfrequency\/hash(into:)","title":"func hash(into: inout Hasher)","type":"method"}],"path":"\/documentation\/iotbluetooth\/ibbloodoxygenfrequency\/rawrepresentable-implementations","title":"RawRepresentable Implementations","type":"symbol"}],"path":"\/documentation\/iotbluetooth\/ibbloodoxygenfrequency","title":"IBBloodOxygenFrequency","type":"enum"},{"children":[{"title":"Enumeration Cases","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibcode\/failure","title":"case failure","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibcode\/invalidparam","title":"case invalidParam","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibcode\/parseerror","title":"case parseError","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibcode\/success","title":"case success","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibcode\/timeout","title":"case timeout","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibcode\/unknow","title":"case unknow","type":"case"},{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibcode\/init(rawvalue:)","title":"init?(rawValue: Int)","type":"init"},{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibcode\/description","title":"var description: String","type":"property"},{"title":"Default Implementations","type":"groupMarker"},{"children":[{"title":"Operators","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibcode\/!=(_:_:)","title":"static func != (Self, Self) -> Bool","type":"op"}],"path":"\/documentation\/iotbluetooth\/ibcode\/equatable-implementations","title":"Equatable Implementations","type":"symbol"},{"children":[{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibcode\/hashvalue","title":"var hashValue: Int","type":"property"},{"title":"Instance Methods","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibcode\/hash(into:)","title":"func hash(into: inout Hasher)","type":"method"}],"path":"\/documentation\/iotbluetooth\/ibcode\/rawrepresentable-implementations","title":"RawRepresentable Implementations","type":"symbol"}],"path":"\/documentation\/iotbluetooth\/ibcode","title":"IBCode","type":"enum"},{"children":[{"title":"Enumeration Cases","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibduration\/minute","title":"case minute","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibduration\/minute5","title":"case minute5","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibduration\/second10","title":"case second10","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibduration\/second15","title":"case second15","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibduration\/second30","title":"case second30","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibduration\/second5","title":"case second5","type":"case"},{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibduration\/init(rawvalue:)","title":"init?(rawValue: Int)","type":"init"},{"title":"Default Implementations","type":"groupMarker"},{"children":[{"title":"Operators","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibduration\/!=(_:_:)","title":"static func != (Self, Self) -> Bool","type":"op"}],"path":"\/documentation\/iotbluetooth\/ibduration\/equatable-implementations","title":"Equatable Implementations","type":"symbol"},{"children":[{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibduration\/hashvalue","title":"var hashValue: Int","type":"property"},{"title":"Instance Methods","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibduration\/hash(into:)","title":"func hash(into: inout Hasher)","type":"method"}],"path":"\/documentation\/iotbluetooth\/ibduration\/rawrepresentable-implementations","title":"RawRepresentable Implementations","type":"symbol"}],"path":"\/documentation\/iotbluetooth\/ibduration","title":"IBDuration","type":"enum"},{"children":[{"title":"Enumeration Cases","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibfile\/dial","title":"case dial","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibfile\/epo","title":"case epo","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibfile\/mp3","title":"case mp3","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibfile\/ota","title":"case ota","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibfile\/ota_w4","title":"case ota_w4","type":"case"},{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibfile\/init(rawvalue:)","title":"init?(rawValue: Int)","type":"init"},{"title":"Default Implementations","type":"groupMarker"},{"children":[{"title":"Operators","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibfile\/!=(_:_:)","title":"static func != (Self, Self) -> Bool","type":"op"}],"path":"\/documentation\/iotbluetooth\/ibfile\/equatable-implementations","title":"Equatable Implementations","type":"symbol"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibfile\/init(from:)","title":"init(from: Decoder) throws","type":"init"},{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibfile\/hashvalue","title":"var hashValue: Int","type":"property"},{"title":"Instance Methods","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibfile\/encode(to:)","title":"func encode(to: Encoder) throws","type":"method"},{"path":"\/documentation\/iotbluetooth\/ibfile\/hash(into:)","title":"func hash(into: inout Hasher)","type":"method"}],"path":"\/documentation\/iotbluetooth\/ibfile\/rawrepresentable-implementations","title":"RawRepresentable Implementations","type":"symbol"}],"path":"\/documentation\/iotbluetooth\/ibfile","title":"IBFile","type":"enum"},{"children":[{"title":"Enumeration Cases","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibfrequency\/hour1","title":"case hour1","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibfrequency\/hour2","title":"case hour2","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibfrequency\/hour3","title":"case hour3","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibfrequency\/min30","title":"case min30","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibfrequency\/none","title":"case none","type":"case"},{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibfrequency\/init(rawvalue:)","title":"init?(rawValue: Int)","type":"init"},{"title":"Default Implementations","type":"groupMarker"},{"children":[{"title":"Operators","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibfrequency\/!=(_:_:)","title":"static func != (Self, Self) -> Bool","type":"op"}],"path":"\/documentation\/iotbluetooth\/ibfrequency\/equatable-implementations","title":"Equatable Implementations","type":"symbol"},{"children":[{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibfrequency\/hashvalue","title":"var hashValue: Int","type":"property"},{"title":"Instance Methods","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibfrequency\/hash(into:)","title":"func hash(into: inout Hasher)","type":"method"}],"path":"\/documentation\/iotbluetooth\/ibfrequency\/rawrepresentable-implementations","title":"RawRepresentable Implementations","type":"symbol"}],"path":"\/documentation\/iotbluetooth\/ibfrequency","title":"IBFrequency","type":"enum"},{"children":[{"title":"Enumeration Cases","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibheartratefrequency\/min1","title":"case min1","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibheartratefrequency\/min10","title":"case min10","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibheartratefrequency\/min5","title":"case min5","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibheartratefrequency\/none","title":"case none","type":"case"},{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibheartratefrequency\/init(rawvalue:)","title":"init?(rawValue: Int)","type":"init"},{"title":"Default Implementations","type":"groupMarker"},{"children":[{"title":"Operators","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibheartratefrequency\/!=(_:_:)","title":"static func != (Self, Self) -> Bool","type":"op"}],"path":"\/documentation\/iotbluetooth\/ibheartratefrequency\/equatable-implementations","title":"Equatable Implementations","type":"symbol"},{"children":[{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibheartratefrequency\/hashvalue","title":"var hashValue: Int","type":"property"},{"title":"Instance Methods","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibheartratefrequency\/hash(into:)","title":"func hash(into: inout Hasher)","type":"method"}],"path":"\/documentation\/iotbluetooth\/ibheartratefrequency\/rawrepresentable-implementations","title":"RawRepresentable Implementations","type":"symbol"}],"path":"\/documentation\/iotbluetooth\/ibheartratefrequency","title":"IBHeartRateFrequency","type":"enum"},{"children":[{"title":"Enumeration Cases","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/iblanguage\/chinese","title":"case chinese","type":"case"},{"path":"\/documentation\/iotbluetooth\/iblanguage\/croatian","title":"case croatian","type":"case"},{"path":"\/documentation\/iotbluetooth\/iblanguage\/czech","title":"case czech","type":"case"},{"path":"\/documentation\/iotbluetooth\/iblanguage\/dutch","title":"case dutch","type":"case"},{"path":"\/documentation\/iotbluetooth\/iblanguage\/english","title":"case english","type":"case"},{"path":"\/documentation\/iotbluetooth\/iblanguage\/finnish","title":"case finnish","type":"case"},{"path":"\/documentation\/iotbluetooth\/iblanguage\/french","title":"case french","type":"case"},{"path":"\/documentation\/iotbluetooth\/iblanguage\/german","title":"case german","type":"case"},{"path":"\/documentation\/iotbluetooth\/iblanguage\/greek","title":"case greek","type":"case"},{"path":"\/documentation\/iotbluetooth\/iblanguage\/hindi","title":"case hindi","type":"case"},{"path":"\/documentation\/iotbluetooth\/iblanguage\/indonesian","title":"case indonesian","type":"case"},{"path":"\/documentation\/iotbluetooth\/iblanguage\/italian","title":"case italian","type":"case"},{"path":"\/documentation\/iotbluetooth\/iblanguage\/japanese","title":"case japanese","type":"case"},{"path":"\/documentation\/iotbluetooth\/iblanguage\/korean","title":"case korean","type":"case"},{"path":"\/documentation\/iotbluetooth\/iblanguage\/malaysian","title":"case malaysian","type":"case"},{"path":"\/documentation\/iotbluetooth\/iblanguage\/polish","title":"case polish","type":"case"},{"path":"\/documentation\/iotbluetooth\/iblanguage\/portuguese","title":"case portuguese","type":"case"},{"path":"\/documentation\/iotbluetooth\/iblanguage\/romanian","title":"case romanian","type":"case"},{"path":"\/documentation\/iotbluetooth\/iblanguage\/russian","title":"case russian","type":"case"},{"path":"\/documentation\/iotbluetooth\/iblanguage\/spanish","title":"case spanish","type":"case"},{"path":"\/documentation\/iotbluetooth\/iblanguage\/thai","title":"case thai","type":"case"},{"path":"\/documentation\/iotbluetooth\/iblanguage\/turkish","title":"case turkish","type":"case"},{"path":"\/documentation\/iotbluetooth\/iblanguage\/vietnamese","title":"case vietnamese","type":"case"},{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/iblanguage\/init(rawvalue:)","title":"init?(rawValue: Int)","type":"init"},{"title":"Default Implementations","type":"groupMarker"},{"children":[{"title":"Operators","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/iblanguage\/!=(_:_:)","title":"static func != (Self, Self) -> Bool","type":"op"}],"path":"\/documentation\/iotbluetooth\/iblanguage\/equatable-implementations","title":"Equatable Implementations","type":"symbol"},{"children":[{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/iblanguage\/hashvalue","title":"var hashValue: Int","type":"property"},{"title":"Instance Methods","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/iblanguage\/hash(into:)","title":"func hash(into: inout Hasher)","type":"method"}],"path":"\/documentation\/iotbluetooth\/iblanguage\/rawrepresentable-implementations","title":"RawRepresentable Implementations","type":"symbol"}],"path":"\/documentation\/iotbluetooth\/iblanguage","title":"IBLanguage","type":"enum"},{"children":[{"title":"Enumeration Cases","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibmotionmode\/ride","title":"case ride","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibmotionmode\/running","title":"case running","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibmotionmode\/walking","title":"case walking","type":"case"},{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibmotionmode\/init(rawvalue:)","title":"init?(rawValue: Int)","type":"init"},{"title":"Default Implementations","type":"groupMarker"},{"children":[{"title":"Operators","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibmotionmode\/!=(_:_:)","title":"static func != (Self, Self) -> Bool","type":"op"}],"path":"\/documentation\/iotbluetooth\/ibmotionmode\/equatable-implementations","title":"Equatable Implementations","type":"symbol"},{"children":[{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibmotionmode\/hashvalue","title":"var hashValue: Int","type":"property"},{"title":"Instance Methods","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibmotionmode\/hash(into:)","title":"func hash(into: inout Hasher)","type":"method"}],"path":"\/documentation\/iotbluetooth\/ibmotionmode\/rawrepresentable-implementations","title":"RawRepresentable Implementations","type":"symbol"}],"path":"\/documentation\/iotbluetooth\/ibmotionmode","title":"IBMotionMode","type":"enum"},{"children":[{"title":"Enumeration Cases","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibparameter\/mp3(_:)","title":"case MP3(IBMp3File)","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibparameter\/action(_:)","title":"case action(Int)","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibparameter\/addressbook(_:)","title":"case addressBook([IBAddressBook])","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibparameter\/airesponse(_:)","title":"case aiResponse(IBAiResponse)","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibparameter\/auxiliary(_:)","title":"case auxiliary(IBAuxiliary)","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibparameter\/bloodoxygen(_:)","title":"case bloodOxygen(IBBloodOxygen)","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibparameter\/clock(_:)","title":"case clock(IBClock)","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibparameter\/deletefile(_:)","title":"case deleteFile(IBDeleteFile)","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibparameter\/dial(_:)","title":"case dial(IBDial)","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibparameter\/dialfile(_:)","title":"case dialFile(IBDialFile)","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibparameter\/dialid(_:)","title":"case dialID(Int)","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibparameter\/epo(_:)","title":"case epo([IBEpo])","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibparameter\/fetchfils(_:)","title":"case fetchFils(IBFile)","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibparameter\/file(_:)","title":"case file(IBFile)","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibparameter\/heartrate(_:)","title":"case heartRate(IBHeartRate)","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibparameter\/language(_:)","title":"case language(IBLanguage)","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibparameter\/motionmode(_:)","title":"case motionMode(IBMotionMode)","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibparameter\/ota(_:)","title":"case ota(IBOtaFile)","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibparameter\/othertarget(_:)","title":"case otherTarget(IBOtherTarget)","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibparameter\/screen(_:)","title":"case screen(IBScreenConfig)","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibparameter\/sendphone(_:)","title":"case sendPhone(IBPhoneInfo)","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibparameter\/sendtime(_:)","title":"case sendTime(IBSendTime)","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibparameter\/sleep(_:)","title":"case sleep(IBSleep)","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibparameter\/targetstep(_:)","title":"case targetStep(IBTargetStep)","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibparameter\/traintarget(_:)","title":"case trainTarget(IBTrainTarget)","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibparameter\/userinfo(_:)","title":"case userInfo(IBUserInfo)","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibparameter\/value(_:)","title":"case value(Int)","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibparameter\/vibratesound(_:)","title":"case vibrateSound(IBVibrateConfig)","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibparameter\/water(_:)","title":"case water(IBWater)","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibparameter\/weather(_:)","title":"case weather(IBWeather)","type":"case"}],"path":"\/documentation\/iotbluetooth\/ibparameter","title":"IBParameter","type":"enum"},{"children":[{"title":"Enumeration Cases","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibtraintargettype\/calorie","title":"case calorie","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibtraintargettype\/distance","title":"case distance","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibtraintargettype\/step","title":"case step","type":"case"},{"path":"\/documentation\/iotbluetooth\/ibtraintargettype\/time","title":"case time","type":"case"},{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibtraintargettype\/init(rawvalue:)","title":"init?(rawValue: Int)","type":"init"},{"title":"Default Implementations","type":"groupMarker"},{"children":[{"title":"Operators","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibtraintargettype\/!=(_:_:)","title":"static func != (Self, Self) -> Bool","type":"op"}],"path":"\/documentation\/iotbluetooth\/ibtraintargettype\/equatable-implementations","title":"Equatable Implementations","type":"symbol"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibtraintargettype\/init(from:)","title":"init(from: Decoder) throws","type":"init"},{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibtraintargettype\/hashvalue","title":"var hashValue: Int","type":"property"},{"title":"Instance Methods","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/ibtraintargettype\/encode(to:)","title":"func encode(to: Encoder) throws","type":"method"},{"path":"\/documentation\/iotbluetooth\/ibtraintargettype\/hash(into:)","title":"func hash(into: inout Hasher)","type":"method"}],"path":"\/documentation\/iotbluetooth\/ibtraintargettype\/rawrepresentable-implementations","title":"RawRepresentable Implementations","type":"symbol"}],"path":"\/documentation\/iotbluetooth\/ibtraintargettype","title":"IBTrainTargetType","type":"enum"},{"title":"Extended Modules","type":"groupMarker"},{"children":[{"title":"Extended Structures","type":"groupMarker"},{"children":[{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/foundation\/data\/bytes","title":"var bytes: [UInt8]","type":"property"},{"path":"\/documentation\/iotbluetooth\/foundation\/data\/int","title":"var int: Int","type":"property"},{"path":"\/documentation\/iotbluetooth\/foundation\/data\/lrc","title":"var lrc: UInt8","type":"property"},{"path":"\/documentation\/iotbluetooth\/foundation\/data\/string","title":"var string: String?","type":"property"},{"title":"Instance Methods","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/foundation\/data\/joined(format:_:)","title":"func joined(format: String, String) -> String","type":"method"},{"path":"\/documentation\/iotbluetooth\/foundation\/data\/reversedjoined(format:_:)","title":"func reversedJoined(format: String, String) -> String","type":"method"}],"path":"\/documentation\/iotbluetooth\/foundation\/data","title":"Data","type":"extension"},{"children":[{"title":"Default Implementations","type":"groupMarker"},{"children":[{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/foundation\/uuid\/uuid","title":"var uuid: UUID","type":"property"}],"path":"\/documentation\/iotbluetooth\/foundation\/uuid\/ibperipheraluuid-implementations","title":"IBPeripheralUUID Implementations","type":"symbol"}],"path":"\/documentation\/iotbluetooth\/foundation\/uuid","title":"UUID","type":"extension"}],"path":"\/documentation\/iotbluetooth\/foundation","title":"Foundation","type":"extension"},{"children":[{"title":"Extended Protocols","type":"groupMarker"},{"children":[{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/swift\/binaryinteger\/binarystring","title":"var binaryString: String","type":"property"}],"path":"\/documentation\/iotbluetooth\/swift\/binaryinteger","title":"BinaryInteger","type":"extension"},{"title":"Extended Structures","type":"groupMarker"},{"children":[{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/swift\/array\/data","title":"var data: Data","type":"property"},{"path":"\/documentation\/iotbluetooth\/swift\/array\/int","title":"var int: Int","type":"property"}],"path":"\/documentation\/iotbluetooth\/swift\/array","title":"Array","type":"extension"},{"children":[{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/swift\/double\/upint","title":"var upInt: Int","type":"property"}],"path":"\/documentation\/iotbluetooth\/swift\/double","title":"Double","type":"extension"},{"children":[{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/swift\/int\/byte","title":"var byte: UInt8","type":"property"},{"path":"\/documentation\/iotbluetooth\/swift\/int\/byte2","title":"var byte2: [UInt8]","type":"property"},{"path":"\/documentation\/iotbluetooth\/swift\/int\/byte3","title":"var byte3: [UInt8]","type":"property"},{"path":"\/documentation\/iotbluetooth\/swift\/int\/byte4","title":"var byte4: [UInt8]","type":"property"},{"path":"\/documentation\/iotbluetooth\/swift\/int\/bytes","title":"var bytes: [UInt8]","type":"property"}],"path":"\/documentation\/iotbluetooth\/swift\/int","title":"Int","type":"extension"},{"children":[{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/swift\/string\/binary","title":"var binary: String","type":"property"},{"path":"\/documentation\/iotbluetooth\/swift\/string\/data","title":"var data: Data?","type":"property"}],"path":"\/documentation\/iotbluetooth\/swift\/string","title":"String","type":"extension"},{"children":[{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/iotbluetooth\/swift\/uint8\/int","title":"var int: Int","type":"property"}],"path":"\/documentation\/iotbluetooth\/swift\/uint8","title":"UInt8","type":"extension"}],"path":"\/documentation\/iotbluetooth\/swift","title":"Swift","type":"extension"}],"path":"\/documentation\/iotbluetooth","title":"IOTBluetooth","type":"module"}]},"schemaVersion":{"major":0,"minor":1,"patch":1}}
\ No newline at end of file
--- /dev/null
+/*!
+ * This source file is part of the Swift.org open source project
+ *
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ *
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0d3105"],{"5abe":function(t,e){(function(){"use strict";if("object"===typeof window)if("IntersectionObserver"in window&&"IntersectionObserverEntry"in window&&"intersectionRatio"in window.IntersectionObserverEntry.prototype)"isIntersecting"in window.IntersectionObserverEntry.prototype||Object.defineProperty(window.IntersectionObserverEntry.prototype,"isIntersecting",{get:function(){return this.intersectionRatio>0}});else{var t=function(t){var e=t,n=i(e);while(n)e=n.ownerDocument,n=i(e);return e}(window.document),e=[],n=null,o=null;s.prototype.THROTTLE_TIMEOUT=100,s.prototype.POLL_INTERVAL=null,s.prototype.USE_MUTATION_OBSERVER=!0,s._setupCrossOriginUpdater=function(){return n||(n=function(t,n){o=t&&n?g(t,n):p(),e.forEach((function(t){t._checkForIntersections()}))}),n},s._resetCrossOriginUpdater=function(){n=null,o=null},s.prototype.observe=function(t){var e=this._observationTargets.some((function(e){return e.element==t}));if(!e){if(!t||1!=t.nodeType)throw new Error("target must be an Element");this._registerInstance(),this._observationTargets.push({element:t,entry:null}),this._monitorIntersections(t.ownerDocument),this._checkForIntersections()}},s.prototype.unobserve=function(t){this._observationTargets=this._observationTargets.filter((function(e){return e.element!=t})),this._unmonitorIntersections(t.ownerDocument),0==this._observationTargets.length&&this._unregisterInstance()},s.prototype.disconnect=function(){this._observationTargets=[],this._unmonitorAllIntersections(),this._unregisterInstance()},s.prototype.takeRecords=function(){var t=this._queuedEntries.slice();return this._queuedEntries=[],t},s.prototype._initThresholds=function(t){var e=t||[0];return Array.isArray(e)||(e=[e]),e.sort().filter((function(t,e,n){if("number"!=typeof t||isNaN(t)||t<0||t>1)throw new Error("threshold must be a number between 0 and 1 inclusively");return t!==n[e-1]}))},s.prototype._parseRootMargin=function(t){var e=t||"0px",n=e.split(/\s+/).map((function(t){var e=/^(-?\d*\.?\d+)(px|%)$/.exec(t);if(!e)throw new Error("rootMargin must be specified in pixels or percent");return{value:parseFloat(e[1]),unit:e[2]}}));return n[1]=n[1]||n[0],n[2]=n[2]||n[0],n[3]=n[3]||n[1],n},s.prototype._monitorIntersections=function(e){var n=e.defaultView;if(n&&-1==this._monitoringDocuments.indexOf(e)){var o=this._checkForIntersections,r=null,s=null;this.POLL_INTERVAL?r=n.setInterval(o,this.POLL_INTERVAL):(c(n,"resize",o,!0),c(e,"scroll",o,!0),this.USE_MUTATION_OBSERVER&&"MutationObserver"in n&&(s=new n.MutationObserver(o),s.observe(e,{attributes:!0,childList:!0,characterData:!0,subtree:!0}))),this._monitoringDocuments.push(e),this._monitoringUnsubscribes.push((function(){var t=e.defaultView;t&&(r&&t.clearInterval(r),a(t,"resize",o,!0)),a(e,"scroll",o,!0),s&&s.disconnect()}));var h=this.root&&(this.root.ownerDocument||this.root)||t;if(e!=h){var u=i(e);u&&this._monitorIntersections(u.ownerDocument)}}},s.prototype._unmonitorIntersections=function(e){var n=this._monitoringDocuments.indexOf(e);if(-1!=n){var o=this.root&&(this.root.ownerDocument||this.root)||t,r=this._observationTargets.some((function(t){var n=t.element.ownerDocument;if(n==e)return!0;while(n&&n!=o){var r=i(n);if(n=r&&r.ownerDocument,n==e)return!0}return!1}));if(!r){var s=this._monitoringUnsubscribes[n];if(this._monitoringDocuments.splice(n,1),this._monitoringUnsubscribes.splice(n,1),s(),e!=o){var h=i(e);h&&this._unmonitorIntersections(h.ownerDocument)}}}},s.prototype._unmonitorAllIntersections=function(){var t=this._monitoringUnsubscribes.slice(0);this._monitoringDocuments.length=0,this._monitoringUnsubscribes.length=0;for(var e=0;e<t.length;e++)t[e]()},s.prototype._checkForIntersections=function(){if(this.root||!n||o){var t=this._rootIsInDom(),e=t?this._getRootRect():p();this._observationTargets.forEach((function(o){var i=o.element,s=f(i),u=this._rootContainsTarget(i),c=o.entry,a=t&&u&&this._computeTargetAndRootIntersection(i,s,e),l=null;this._rootContainsTarget(i)?n&&!this.root||(l=e):l=p();var d=o.entry=new r({time:h(),target:i,boundingClientRect:s,rootBounds:l,intersectionRect:a});c?t&&u?this._hasCrossedThreshold(c,d)&&this._queuedEntries.push(d):c&&c.isIntersecting&&this._queuedEntries.push(d):this._queuedEntries.push(d)}),this),this._queuedEntries.length&&this._callback(this.takeRecords(),this)}},s.prototype._computeTargetAndRootIntersection=function(e,i,r){if("none"!=window.getComputedStyle(e).display){var s=i,h=v(e),u=!1;while(!u&&h){var c=null,a=1==h.nodeType?window.getComputedStyle(h):{};if("none"==a.display)return null;if(h==this.root||9==h.nodeType)if(u=!0,h==this.root||h==t)n&&!this.root?!o||0==o.width&&0==o.height?(h=null,c=null,s=null):c=o:c=r;else{var p=v(h),d=p&&f(p),m=p&&this._computeTargetAndRootIntersection(p,d,r);d&&m?(h=p,c=g(d,m)):(h=null,s=null)}else{var w=h.ownerDocument;h!=w.body&&h!=w.documentElement&&"visible"!=a.overflow&&(c=f(h))}if(c&&(s=l(c,s)),!s)break;h=h&&v(h)}return s}},s.prototype._getRootRect=function(){var e;if(this.root&&!w(this.root))e=f(this.root);else{var n=w(this.root)?this.root:t,o=n.documentElement,i=n.body;e={top:0,left:0,right:o.clientWidth||i.clientWidth,width:o.clientWidth||i.clientWidth,bottom:o.clientHeight||i.clientHeight,height:o.clientHeight||i.clientHeight}}return this._expandRectByRootMargin(e)},s.prototype._expandRectByRootMargin=function(t){var e=this._rootMarginValues.map((function(e,n){return"px"==e.unit?e.value:e.value*(n%2?t.width:t.height)/100})),n={top:t.top-e[0],right:t.right+e[1],bottom:t.bottom+e[2],left:t.left-e[3]};return n.width=n.right-n.left,n.height=n.bottom-n.top,n},s.prototype._hasCrossedThreshold=function(t,e){var n=t&&t.isIntersecting?t.intersectionRatio||0:-1,o=e.isIntersecting?e.intersectionRatio||0:-1;if(n!==o)for(var i=0;i<this.thresholds.length;i++){var r=this.thresholds[i];if(r==n||r==o||r<n!==r<o)return!0}},s.prototype._rootIsInDom=function(){return!this.root||m(t,this.root)},s.prototype._rootContainsTarget=function(e){var n=this.root&&(this.root.ownerDocument||this.root)||t;return m(n,e)&&(!this.root||n==e.ownerDocument)},s.prototype._registerInstance=function(){e.indexOf(this)<0&&e.push(this)},s.prototype._unregisterInstance=function(){var t=e.indexOf(this);-1!=t&&e.splice(t,1)},window.IntersectionObserver=s,window.IntersectionObserverEntry=r}function i(t){try{return t.defaultView&&t.defaultView.frameElement||null}catch(e){return null}}function r(t){this.time=t.time,this.target=t.target,this.rootBounds=d(t.rootBounds),this.boundingClientRect=d(t.boundingClientRect),this.intersectionRect=d(t.intersectionRect||p()),this.isIntersecting=!!t.intersectionRect;var e=this.boundingClientRect,n=e.width*e.height,o=this.intersectionRect,i=o.width*o.height;this.intersectionRatio=n?Number((i/n).toFixed(4)):this.isIntersecting?1:0}function s(t,e){var n=e||{};if("function"!=typeof t)throw new Error("callback must be a function");if(n.root&&1!=n.root.nodeType&&9!=n.root.nodeType)throw new Error("root must be a Document or Element");this._checkForIntersections=u(this._checkForIntersections.bind(this),this.THROTTLE_TIMEOUT),this._callback=t,this._observationTargets=[],this._queuedEntries=[],this._rootMarginValues=this._parseRootMargin(n.rootMargin),this.thresholds=this._initThresholds(n.threshold),this.root=n.root||null,this.rootMargin=this._rootMarginValues.map((function(t){return t.value+t.unit})).join(" "),this._monitoringDocuments=[],this._monitoringUnsubscribes=[]}function h(){return window.performance&&performance.now&&performance.now()}function u(t,e){var n=null;return function(){n||(n=setTimeout((function(){t(),n=null}),e))}}function c(t,e,n,o){"function"==typeof t.addEventListener?t.addEventListener(e,n,o||!1):"function"==typeof t.attachEvent&&t.attachEvent("on"+e,n)}function a(t,e,n,o){"function"==typeof t.removeEventListener?t.removeEventListener(e,n,o||!1):"function"==typeof t.detatchEvent&&t.detatchEvent("on"+e,n)}function l(t,e){var n=Math.max(t.top,e.top),o=Math.min(t.bottom,e.bottom),i=Math.max(t.left,e.left),r=Math.min(t.right,e.right),s=r-i,h=o-n;return s>=0&&h>=0&&{top:n,bottom:o,left:i,right:r,width:s,height:h}||null}function f(t){var e;try{e=t.getBoundingClientRect()}catch(n){}return e?(e.width&&e.height||(e={top:e.top,right:e.right,bottom:e.bottom,left:e.left,width:e.right-e.left,height:e.bottom-e.top}),e):p()}function p(){return{top:0,bottom:0,left:0,right:0,width:0,height:0}}function d(t){return!t||"x"in t?t:{top:t.top,y:t.top,bottom:t.bottom,left:t.left,x:t.left,right:t.right,width:t.width,height:t.height}}function g(t,e){var n=e.top-t.top,o=e.left-t.left;return{top:n,left:o,height:e.height,width:e.width,bottom:n+e.height,right:o+e.width}}function m(t,e){var n=e;while(n){if(n==t)return!0;n=v(n)}return!1}function v(e){var n=e.parentNode;return 9==e.nodeType&&e!=t?i(e):(n&&n.assignedSlot&&(n=n.assignedSlot.parentNode),n&&11==n.nodeType&&n.host?n.host:n)}function w(t){return t&&9===t.nodeType}})()}}]);
\ No newline at end of file
--- /dev/null
+/*!
+ * This source file is part of the Swift.org open source project
+ *
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ *
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-c0335d80"],{"00b4":function(e,t,n){"use strict";var a,r,i,o,s,c,l,d,p=n("7b1f"),u={name:"ChangedToken",render(e){const{kind:t,tokens:n}=this;return e("span",{class:["token-"+t,"token-changed"]},n.map(t=>e(D,{props:t})))},props:{kind:{type:String,required:!0},tokens:{type:Array,required:!0}}},f=u,m=n("2877"),h=Object(m["a"])(f,a,r,!1,null,null,null),b=h.exports,g=n("86d8"),v=n("2f34"),y={name:"LinkableToken",mixins:[v["a"]],render(e){const t=this.references[this.identifier];return t&&t.url?e(g["a"],{props:{url:t.url,kind:t.kind,role:t.role}},this.$slots.default):e("span",{},this.$slots.default)},props:{identifier:{type:String,required:!0,default:()=>""}}},k=y,C=Object(m["a"])(k,i,o,!1,null,null,null),_=C.exports,x={name:"RawText",render(e){const{_v:t=(t=>e("span",t)),text:n}=this;return t(n)},props:{text:{type:String,required:!0}}},O=x,B=Object(m["a"])(O,s,c,!1,null,null,null),T=B.exports,S={name:"SyntaxToken",render(e){return e("span",{class:"token-"+this.kind},this.text)},props:{kind:{type:String,required:!0},text:{type:String,required:!0}}},I=S,$=Object(m["a"])(I,l,d,!1,null,null,null),j=$.exports;const q={attribute:"attribute",externalParam:"externalParam",genericParameter:"genericParameter",identifier:"identifier",internalParam:"internalParam",keyword:"keyword",label:"label",number:"number",string:"string",text:"text",typeIdentifier:"typeIdentifier",added:"added",removed:"removed"};var w,A,P={name:"DeclarationToken",render(e){const{kind:t,text:n,tokens:a}=this;switch(t){case q.text:{const t={text:n};return e(T,{props:t})}case q.typeIdentifier:{const t={identifier:this.identifier};return e(_,{class:"type-identifier-link",props:t},[e(p["a"],n)])}case q.attribute:{const{identifier:a}=this;return a?e(_,{class:"attribute-link",props:{identifier:a}},[e(p["a"],n)]):e(j,{props:{kind:t,text:n}})}case q.added:case q.removed:return e(b,{props:{tokens:a,kind:t}});default:{const a={kind:t,text:n};return e(j,{props:a})}}},constants:{TokenKind:q},props:{kind:{type:String,required:!0},identifier:{type:String,required:!1},text:{type:String,required:!1},tokens:{type:Array,required:!1,default:()=>[]}}},F=P,z=(n("8f34"),Object(m["a"])(F,w,A,!1,null,"3fd63d6c",null)),D=t["a"]=z.exports},"2a18":function(e,t,n){"use strict";n.r(t);var a=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"link-block",class:e.linkBlockClasses},[n(e.linkComponent,e._b({ref:"apiChangesDiff",tag:"component",staticClass:"link",class:e.linkClasses},"component",e.linkProps,!1),[e.topic.role&&!e.change?n("TopicLinkBlockIcon",{attrs:{role:e.topic.role,imageOverride:e.references[e.iconOverride]}}):e._e(),e.topic.fragments?n("DecoratedTopicTitle",{attrs:{tokens:e.topic.fragments}}):n("WordBreak",{attrs:{tag:e.titleTag}},[e._v(e._s(e.topic.title))]),e.change?n("span",{staticClass:"visuallyhidden"},[e._v("- "+e._s(e.$t(e.changeName)))]):e._e()],1),e.hasAbstractElements?n("div",{staticClass:"abstract"},[e.topic.abstract?n("ContentNode",{attrs:{content:e.topic.abstract}}):e._e(),e.topic.ideTitle?n("div",{staticClass:"topic-keyinfo"},[e.topic.titleStyle===e.titleStyles.title?[n("strong",[e._v("Key:")]),e._v(" "+e._s(e.topic.name)+" ")]:e.topic.titleStyle===e.titleStyles.symbol?[n("strong",[e._v("Name:")]),e._v(" "+e._s(e.topic.ideTitle)+" ")]:e._e()],2):e._e(),e.topic.required||e.topic.defaultImplementations?n("RequirementMetadata",{staticClass:"topic-required",attrs:{defaultImplementationsCount:e.topic.defaultImplementations}}):e._e(),e.topic.conformance?n("ConditionalConstraints",{attrs:{constraints:e.topic.conformance.constraints,prefix:e.topic.conformance.availabilityPrefix}}):e._e()],1):e._e(),e.showDeprecatedBadge?n("Badge",{attrs:{variant:"deprecated"}}):e.showBetaBadge?n("Badge",{attrs:{variant:"beta"}}):e._e(),e._l(e.tags,(function(t){return n("Badge",{key:t.type+"-"+t.text,attrs:{variant:t.type}},[e._v(" "+e._s(t.text)+" ")])}))],2)},r=[],i=n("66cd"),o=n("d26a"),s=n("a0fd"),c=n("7b1f"),l=n("6359"),d=function(){var e=this,t=e.$createElement,n=e._self._c||t;return e.imageOverride||e.icon?n("div",{staticClass:"topic-icon-wrapper"},[e.imageOverride?n("OverridableAsset",{staticClass:"topic-icon",attrs:{imageOverride:e.imageOverride}}):e.icon?n(e.icon,{tag:"component",staticClass:"topic-icon"}):e._e()],1):e._e()},p=[],u=n("a9f1"),f=n("3b96"),m=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{staticClass:"api-reference-icon",attrs:{viewBox:"0 0 14 14",themeId:"api-reference"}},[n("title",[e._v(e._s(e.$t("api-reference")))]),n("path",{attrs:{d:"m1 1v12h12v-12zm11 11h-10v-10h10z"}}),n("path",{attrs:{d:"m3 4h8v1h-8zm0 2.5h8v1h-8zm0 2.5h8v1h-8z"}}),n("path",{attrs:{d:"m3 4h8v1h-8z"}}),n("path",{attrs:{d:"m3 6.5h8v1h-8z"}}),n("path",{attrs:{d:"m3 9h8v1h-8z"}})])},h=[],b=n("be08"),g={name:"APIReferenceIcon",components:{SVGIcon:b["a"]}},v=g,y=n("2877"),k=Object(y["a"])(v,m,h,!1,null,null,null),C=k.exports,_=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{attrs:{viewBox:"0 0 14 14",themeId:"endpoint"}},[n("title",[e._v(e._s(e.$t("icons.web-service-endpoint")))]),n("path",{attrs:{d:"M4.052 8.737h-1.242l-1.878 5.263h1.15l0.364-1.081h1.939l0.339 1.081h1.193zM2.746 12.012l0.678-2.071 0.653 2.071z"}}),n("path",{attrs:{d:"M11.969 8.737h1.093v5.263h-1.093v-5.263z"}}),n("path",{attrs:{d:"M9.198 8.737h-2.295v5.263h1.095v-1.892h1.12c0.040 0.003 0.087 0.004 0.134 0.004 0.455 0 0.875-0.146 1.217-0.394l-0.006 0.004c0.296-0.293 0.48-0.699 0.48-1.148 0-0.060-0.003-0.118-0.010-0.176l0.001 0.007c0.003-0.039 0.005-0.085 0.005-0.131 0-0.442-0.183-0.842-0.476-1.128l-0-0c-0.317-0.256-0.724-0.41-1.168-0.41-0.034 0-0.069 0.001-0.102 0.003l0.005-0zM9.628 11.014c-0.15 0.118-0.341 0.188-0.548 0.188-0.020 0-0.040-0.001-0.060-0.002l0.003 0h-1.026v-1.549h1.026c0.017-0.001 0.037-0.002 0.058-0.002 0.206 0 0.396 0.066 0.551 0.178l-0.003-0.002c0.135 0.13 0.219 0.313 0.219 0.515 0 0.025-0.001 0.050-0.004 0.074l0-0.003c0.002 0.020 0.003 0.044 0.003 0.068 0 0.208-0.083 0.396-0.219 0.534l0-0z"}}),n("path",{attrs:{d:"M13.529 4.981c0-1.375-1.114-2.489-2.489-2.49h-0l-0.134 0.005c-0.526-1.466-1.903-2.496-3.522-2.496-0.892 0-1.711 0.313-2.353 0.835l0.007-0.005c-0.312-0.243-0.709-0.389-1.14-0.389-1.030 0-1.865 0.834-1.866 1.864v0c0 0.001 0 0.003 0 0.004 0 0.123 0.012 0.242 0.036 0.358l-0.002-0.012c-0.94 0.37-1.593 1.27-1.593 2.323 0 1.372 1.11 2.485 2.482 2.49h8.243c1.306-0.084 2.333-1.164 2.333-2.484 0-0.001 0-0.002 0-0.003v0zM11.139 6.535h-8.319c-0.799-0.072-1.421-0.739-1.421-1.551 0-0.659 0.41-1.223 0.988-1.45l0.011-0.004 0.734-0.28-0.148-0.776-0.012-0.082v-0.088c0-0 0-0.001 0-0.001 0-0.515 0.418-0.933 0.933-0.933 0.216 0 0.416 0.074 0.574 0.197l-0.002-0.002 0.584 0.453 0.575-0.467 0.169-0.127c0.442-0.306 0.991-0.489 1.581-0.489 1.211 0 2.243 0.769 2.633 1.846l0.006 0.019 0.226 0.642 0.814-0.023 0.131 0.006c0.805 0.067 1.432 0.736 1.432 1.552 0 0.836-0.659 1.518-1.486 1.556l-0.003 0z"}})])},x=[],O={name:"EndpointIcon",components:{SVGIcon:b["a"]}},B=O,T=Object(y["a"])(B,_,x,!1,null,null,null),S=T.exports,I=n("a295"),$=n("3024"),j=n("8d2d"),q=n("fdd9");const w={[i["a"].article]:u["a"],[i["a"].collection]:$["a"],[i["a"].collectionGroup]:C,[i["a"].learn]:I["a"],[i["a"].overview]:I["a"],[i["a"].project]:j["a"],[i["a"].tutorial]:j["a"],[i["a"].resources]:I["a"],[i["a"].sampleCode]:f["a"],[i["a"].restRequestSymbol]:S};var A={components:{OverridableAsset:q["a"],SVGIcon:b["a"]},props:{role:{type:String,required:!0},imageOverride:{type:Object,default:null}},computed:{icon:({role:e})=>w[e]}},P=A,F=(n("d94b"),Object(y["a"])(P,d,p,!1,null,"03cf3183",null)),z=F.exports,D=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("code",{staticClass:"decorated-title"},e._l(e.tokens,(function(t,a){return n(e.componentFor(t),{key:a,tag:"component",class:[e.classFor(t),e.emptyTokenClass(t)]},[e._v(e._s(t.text))])})),1)},N=[],E=n("00b4");const{TokenKind:M}=E["a"].constants,V={decorator:"decorator",identifier:"identifier",label:"label"};var L={name:"DecoratedTopicTitle",components:{WordBreak:c["a"]},props:{tokens:{type:Array,required:!0,default:()=>[]}},constants:{TokenKind:M},methods:{emptyTokenClass:({text:e})=>({"empty-token":" "===e}),classFor({kind:e}){switch(e){case M.externalParam:case M.identifier:return V.identifier;case M.label:return V.label;default:return V.decorator}},componentFor(e){return/^\s+$/.test(e.text)?"span":c["a"]}}},R=L,W=(n("dcf6"),Object(y["a"])(R,D,N,!1,null,"06ec7395",null)),G=W.exports,K=n("64cf"),H=n("e8ea"),J=n("5d59"),X=n("2f34");const Q={article:"article",symbol:"symbol"},U={title:"title",symbol:"symbol"},Y={link:"link"};var Z={name:"TopicsLinkBlock",components:{Badge:s["a"],WordBreak:c["a"],ContentNode:l["a"],TopicLinkBlockIcon:z,DecoratedTopicTitle:G,RequirementMetadata:H["a"],ConditionalConstraints:K["a"]},mixins:[J["b"],J["a"],X["a"]],constants:{ReferenceType:Y,TopicKind:Q,TitleStyles:U},props:{isSymbolBeta:Boolean,isSymbolDeprecated:Boolean,topic:{type:Object,required:!0,validator:e=>(!("abstract"in e)||Array.isArray(e.abstract))&&"string"===typeof e.identifier&&(e.type===Y.link&&!e.kind||"string"===typeof e.kind)&&(e.type===Y.link&&!e.role||"string"===typeof e.role)&&"string"===typeof e.title&&"string"===typeof e.url&&(!("defaultImplementations"in e)||"number"===typeof e.defaultImplementations)&&(!("required"in e)||"boolean"===typeof e.required)&&(!("conformance"in e)||"object"===typeof e.conformance)}},data(){return{state:this.store.state}},computed:{linkComponent:({topic:e})=>e.type===Y.link?"a":"router-link",linkProps({topic:e}){const t=Object(o["b"])(e.url,this.$route.query);return e.type===Y.link?{href:t}:{to:t}},linkBlockClasses:({changesClasses:e,hasAbstractElements:t,displaysMultipleLinesAfterAPIChanges:n,multipleLinesClass:a})=>({"has-inline-element":!t,[a]:n,...!t&&e}),linkClasses:({changesClasses:e,deprecated:t,hasAbstractElements:n})=>({deprecated:t,"has-adjacent-elements":n,...n&&e}),changesClasses:({getChangesClasses:e,change:t})=>e(t),titleTag({topic:e}){if(e.titleStyle===U.title)return e.ideTitle?"span":"code";if(e.role&&(e.role===i["a"].collection||e.role===i["a"].dictionarySymbol))return"span";switch(e.kind){case Q.symbol:return"code";default:return"span"}},titleStyles:()=>U,deprecated:({showDeprecatedBadge:e,topic:t})=>e||t.deprecated,showBetaBadge:({topic:e,isSymbolBeta:t})=>Boolean(!t&&e.beta),showDeprecatedBadge:({topic:e,isSymbolDeprecated:t})=>Boolean(!t&&e.deprecated),change({topic:{identifier:e},state:{apiChanges:t}}){return this.changeFor(e,t)},changeName:({change:e,getChangeName:t})=>t(e),hasAbstractElements:({topic:{abstract:e,conformance:t,required:n,defaultImplementations:a}}={})=>e&&e.length>0||t||n||a,tags:({topic:e})=>(e.tags||[]).slice(0,1),iconOverride:({topic:{images:e=[]}})=>{const t=e.find(({type:e})=>"icon"===e);return t?t.identifier:null}}},ee=Z,te=(n("8d8f8"),Object(y["a"])(ee,a,r,!1,null,"52205924",null));t["default"]=te.exports},"2f04":function(e,t,n){},4782:function(e,t,n){},4918:function(e,t,n){},"5d59":function(e,t,n){"use strict";n.d(t,"a",(function(){return c})),n.d(t,"b",(function(){return l}));var a=n("b5cf"),r=n("9055"),i=n("beb1");const o="latest_",s={xcode:{value:"xcode",label:"Xcode"},other:{value:"other",label:"Other"}},c={constants:{multipleLinesClass:r["a"]},data(){return{multipleLinesClass:r["a"]}},computed:{displaysMultipleLinesAfterAPIChanges:({change:e,changeType:t,$refs:n})=>!(!e&&!t)&&Object(i["a"])(n.apiChangesDiff)}},l={methods:{toVersionRange({platform:e,versions:t}){return`${e} ${t[0]} – ${e} ${t[1]}`},toOptionValue:e=>`${o}${e}`,toScope:e=>e.slice(o.length,e.length),getOptionsForDiffAvailability(e={}){return this.getOptionsForDiffAvailabilities([e])},getOptionsForDiffAvailabilities(e=[]){const t=e.reduce((e,t={})=>Object.keys(t).reduce((e,n)=>({...e,[n]:(e[n]||[]).concat(t[n])}),e),{}),n=Object.keys(t),a=n.reduce((e,n)=>{const a=t[n];return{...e,[n]:a.find(e=>e.platform===s.xcode.label)||a[0]}},{}),r=e=>({label:this.toVersionRange(a[e]),value:this.toOptionValue(e),platform:a[e].platform}),{sdk:i,beta:o,minor:c,major:l,...d}=a,p=[].concat(i?r("sdk"):[]).concat(o?r("beta"):[]).concat(c?r("minor"):[]).concat(l?r("major"):[]).concat(Object.keys(d).map(r));return this.splitOptionsPerPlatform(p)},changesClassesFor(e,t){const n=this.changeFor(e,t);return this.getChangesClasses(n)},getChangesClasses:e=>({["changed changed-"+e]:!!e}),changeFor(e,t){const{change:n}=(t||{})[e]||{};return n},splitOptionsPerPlatform(e){return e.reduce((e,t)=>{const n=t.platform===s.xcode.label?s.xcode.value:s.other.value;return e[n].push(t),e},{[s.xcode.value]:[],[s.other.value]:[]})},getChangeName(e){return a["b"][e]}},computed:{availableOptions({diffAvailability:e={},toOptionValue:t}){return new Set(Object.keys(e).map(t))}}}},6359:function(e,t,n){"use strict";var a=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("BaseContentNode",e._b({},"BaseContentNode",e.$props,!1))},r=[],i=n("5677"),o={name:"ContentNode",components:{BaseContentNode:i["default"]},props:i["default"].props,methods:i["default"].methods,BlockType:i["default"].BlockType,InlineType:i["default"].InlineType},s=o,c=(n("958a"),n("2877")),l=Object(c["a"])(s,a,r,!1,null,"20945666",null);t["a"]=l.exports},"64cf":function(e,t,n){"use strict";var a=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("ContentNode",{staticClass:"conditional-constraints",attrs:{content:e.content}})},r=[],i=n("6359"),o={name:"ConditionalConstraints",components:{ContentNode:i["a"]},props:{constraints:i["a"].props.content,prefix:i["a"].props.content},computed:{content:({constraints:e,prefix:t,space:n})=>t.concat(n).concat(e),space:()=>({type:i["a"].InlineType.text,text:" "})}},s=o,c=(n("918a"),n("2877")),l=Object(c["a"])(s,a,r,!1,null,"1548fd90",null);t["a"]=l.exports},"686d":function(e,t,n){},"8d74":function(e,t,n){},"8d8f8":function(e,t,n){"use strict";n("4918")},"8f34":function(e,t,n){"use strict";n("686d")},9055:function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));const a="displays-multiple-lines"},"918a":function(e,t,n){"use strict";n("a2b5")},"94ca":function(e,t,n){"use strict";n("4782")},"958a":function(e,t,n){"use strict";n("8d74")},a0fd:function(e,t,n){"use strict";var a=function(){var e,t=this,n=t.$createElement,a=t._self._c||n;return a("span",{staticClass:"badge",class:(e={},e["badge-"+t.variant]=t.variant,e),attrs:{role:"presentation"}},[t._t("default",(function(){return[t._v(t._s(t.text?t.$t(t.text):""))]}))],2)},r=[];const i={beta:"aside-kind.beta",deprecated:"aside-kind.deprecated"};var o={name:"Badge",props:{variant:{type:String,default:()=>""}},computed:{text:({variant:e})=>i[e]}},s=o,c=(n("94ca"),n("2877")),l=Object(c["a"])(s,a,r,!1,null,"8d6893ae",null);t["a"]=l.exports},a2b5:function(e,t,n){},b5cf:function(e,t,n){"use strict";n.d(t,"c",(function(){return a})),n.d(t,"d",(function(){return r})),n.d(t,"b",(function(){return i})),n.d(t,"a",(function(){return o}));const a={added:"added",modified:"modified",deprecated:"deprecated"},r=[a.modified,a.added,a.deprecated],i={[a.modified]:"change-type.modified",[a.added]:"change-type.added",[a.deprecated]:"change-type.deprecated"},o={"change-type.modified":a.modified,"change-type.added":a.added,"change-type.deprecated":a.deprecated}},beb1:function(e,t,n){"use strict";function a(e){if(!e)return!1;const t=window.getComputedStyle(e.$el||e),n=(e.$el||e).offsetHeight,a=t.lineHeight?parseFloat(t.lineHeight):1,r=t.paddingTop?parseFloat(t.paddingTop):0,i=t.paddingBottom?parseFloat(t.paddingBottom):0,o=t.borderTopWidth?parseFloat(t.borderTopWidth):0,s=t.borderBottomWidth?parseFloat(t.borderBottomWidth):0,c=n-(r+i+o+s),l=c/a;return l>=2}n.d(t,"a",(function(){return a}))},d94b:function(e,t,n){"use strict";n("fff0")},dcf6:function(e,t,n){"use strict";n("2f04")},e8ea:function(e,t,n){"use strict";var a=function(e,t){var n=t._c;return n("p",{staticClass:"requirement-metadata",class:t.data.staticClass},[n("strong",[t._v(t._s(t.parent.$t("required")))]),t.props.defaultImplementationsCount?[t._v(" "+t._s(t.parent.$tc("metadata.default-implementation",t.props.defaultImplementationsCount))+" ")]:t._e()],2)},r=[],i={name:"RequirementMetadata",props:{defaultImplementationsCount:{type:Number,default:0}}},o=i,s=n("2877"),c=Object(s["a"])(o,a,r,!0,null,null,null);t["a"]=c.exports},fff0:function(e,t,n){}}]);
\ No newline at end of file
--- /dev/null
+/*!
+ * This source file is part of the Swift.org open source project
+ *
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ *
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-vendors"],{2877:function(t,e,n){"use strict";function r(t,e,n,r,i,o,a,s){var c,u="function"===typeof t?t.options:t;if(e&&(u.render=e,u.staticRenderFns=n,u._compiled=!0),r&&(u.functional=!0),o&&(u._scopeId="data-v-"+o),a?(c=function(t){t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,t||"undefined"===typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(a)},u._ssrRegister=c):i&&(c=s?function(){i.call(this,(u.functional?this.parent:this).$root.$options.shadowRoot)}:i),c)if(u.functional){u._injectStyles=c;var l=u.render;u.render=function(t,e){return c.call(e),l(t,e)}}else{var f=u.beforeCreate;u.beforeCreate=f?[].concat(f,c):[c]}return{exports:t,options:u}}n.d(e,"a",(function(){return r}))},"2b0e":function(t,e,n){"use strict";n.r(e),function(t){
+/*!
+ * Vue.js v2.6.14
+ * (c) 2014-2021 Evan You
+ * Released under the MIT License.
+ */
+var n=Object.freeze({});function r(t){return void 0===t||null===t}function i(t){return void 0!==t&&null!==t}function o(t){return!0===t}function a(t){return!1===t}function s(t){return"string"===typeof t||"number"===typeof t||"symbol"===typeof t||"boolean"===typeof t}function c(t){return null!==t&&"object"===typeof t}var u=Object.prototype.toString;function l(t){return"[object Object]"===u.call(t)}function f(t){return"[object RegExp]"===u.call(t)}function p(t){var e=parseFloat(String(t));return e>=0&&Math.floor(e)===e&&isFinite(t)}function h(t){return i(t)&&"function"===typeof t.then&&"function"===typeof t.catch}function d(t){return null==t?"":Array.isArray(t)||l(t)&&t.toString===u?JSON.stringify(t,null,2):String(t)}function v(t){var e=parseFloat(t);return isNaN(e)?t:e}function m(t,e){for(var n=Object.create(null),r=t.split(","),i=0;i<r.length;i++)n[r[i]]=!0;return e?function(t){return n[t.toLowerCase()]}:function(t){return n[t]}}m("slot,component",!0);var y=m("key,ref,slot,slot-scope,is");function g(t,e){if(t.length){var n=t.indexOf(e);if(n>-1)return t.splice(n,1)}}var _=Object.prototype.hasOwnProperty;function b(t,e){return _.call(t,e)}function w(t){var e=Object.create(null);return function(n){var r=e[n];return r||(e[n]=t(n))}}var C=/-(\w)/g,k=w((function(t){return t.replace(C,(function(t,e){return e?e.toUpperCase():""}))})),$=w((function(t){return t.charAt(0).toUpperCase()+t.slice(1)})),x=/\B([A-Z])/g,A=w((function(t){return t.replace(x,"-$1").toLowerCase()}));function O(t,e){function n(n){var r=arguments.length;return r?r>1?t.apply(e,arguments):t.call(e,n):t.call(e)}return n._length=t.length,n}function S(t,e){return t.bind(e)}var T=Function.prototype.bind?S:O;function E(t,e){e=e||0;var n=t.length-e,r=new Array(n);while(n--)r[n]=t[n+e];return r}function j(t,e){for(var n in e)t[n]=e[n];return t}function F(t){for(var e={},n=0;n<t.length;n++)t[n]&&j(e,t[n]);return e}function I(t,e,n){}var L=function(t,e,n){return!1},M=function(t){return t};function D(t,e){if(t===e)return!0;var n=c(t),r=c(e);if(!n||!r)return!n&&!r&&String(t)===String(e);try{var i=Array.isArray(t),o=Array.isArray(e);if(i&&o)return t.length===e.length&&t.every((function(t,n){return D(t,e[n])}));if(t instanceof Date&&e instanceof Date)return t.getTime()===e.getTime();if(i||o)return!1;var a=Object.keys(t),s=Object.keys(e);return a.length===s.length&&a.every((function(n){return D(t[n],e[n])}))}catch(u){return!1}}function R(t,e){for(var n=0;n<t.length;n++)if(D(t[n],e))return n;return-1}function N(t){var e=!1;return function(){e||(e=!0,t.apply(this,arguments))}}var P="data-server-rendered",V=["component","directive","filter"],W=["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeDestroy","destroyed","activated","deactivated","errorCaptured","serverPrefetch"],H={optionMergeStrategies:Object.create(null),silent:!1,productionTip:!1,devtools:!1,performance:!1,errorHandler:null,warnHandler:null,ignoredElements:[],keyCodes:Object.create(null),isReservedTag:L,isReservedAttr:L,isUnknownElement:L,getTagNamespace:I,parsePlatformTagName:M,mustUseProp:L,async:!0,_lifecycleHooks:W},U=/a-zA-Z\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD/;function B(t){var e=(t+"").charCodeAt(0);return 36===e||95===e}function z(t,e,n,r){Object.defineProperty(t,e,{value:n,enumerable:!!r,writable:!0,configurable:!0})}var q=new RegExp("[^"+U.source+".$_\\d]");function J(t){if(!q.test(t)){var e=t.split(".");return function(t){for(var n=0;n<e.length;n++){if(!t)return;t=t[e[n]]}return t}}}var K,G="__proto__"in{},X="undefined"!==typeof window,Z="undefined"!==typeof WXEnvironment&&!!WXEnvironment.platform,Y=Z&&WXEnvironment.platform.toLowerCase(),Q=X&&window.navigator.userAgent.toLowerCase(),tt=Q&&/msie|trident/.test(Q),et=Q&&Q.indexOf("msie 9.0")>0,nt=Q&&Q.indexOf("edge/")>0,rt=(Q&&Q.indexOf("android"),Q&&/iphone|ipad|ipod|ios/.test(Q)||"ios"===Y),it=(Q&&/chrome\/\d+/.test(Q),Q&&/phantomjs/.test(Q),Q&&Q.match(/firefox\/(\d+)/)),ot={}.watch,at=!1;if(X)try{var st={};Object.defineProperty(st,"passive",{get:function(){at=!0}}),window.addEventListener("test-passive",null,st)}catch($a){}var ct=function(){return void 0===K&&(K=!X&&!Z&&"undefined"!==typeof t&&(t["process"]&&"server"===t["process"].env.VUE_ENV)),K},ut=X&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function lt(t){return"function"===typeof t&&/native code/.test(t.toString())}var ft,pt="undefined"!==typeof Symbol&<(Symbol)&&"undefined"!==typeof Reflect&<(Reflect.ownKeys);ft="undefined"!==typeof Set&<(Set)?Set:function(){function t(){this.set=Object.create(null)}return t.prototype.has=function(t){return!0===this.set[t]},t.prototype.add=function(t){this.set[t]=!0},t.prototype.clear=function(){this.set=Object.create(null)},t}();var ht=I,dt=0,vt=function(){this.id=dt++,this.subs=[]};vt.prototype.addSub=function(t){this.subs.push(t)},vt.prototype.removeSub=function(t){g(this.subs,t)},vt.prototype.depend=function(){vt.target&&vt.target.addDep(this)},vt.prototype.notify=function(){var t=this.subs.slice();for(var e=0,n=t.length;e<n;e++)t[e].update()},vt.target=null;var mt=[];function yt(t){mt.push(t),vt.target=t}function gt(){mt.pop(),vt.target=mt[mt.length-1]}var _t=function(t,e,n,r,i,o,a,s){this.tag=t,this.data=e,this.children=n,this.text=r,this.elm=i,this.ns=void 0,this.context=o,this.fnContext=void 0,this.fnOptions=void 0,this.fnScopeId=void 0,this.key=e&&e.key,this.componentOptions=a,this.componentInstance=void 0,this.parent=void 0,this.raw=!1,this.isStatic=!1,this.isRootInsert=!0,this.isComment=!1,this.isCloned=!1,this.isOnce=!1,this.asyncFactory=s,this.asyncMeta=void 0,this.isAsyncPlaceholder=!1},bt={child:{configurable:!0}};bt.child.get=function(){return this.componentInstance},Object.defineProperties(_t.prototype,bt);var wt=function(t){void 0===t&&(t="");var e=new _t;return e.text=t,e.isComment=!0,e};function Ct(t){return new _t(void 0,void 0,void 0,String(t))}function kt(t){var e=new _t(t.tag,t.data,t.children&&t.children.slice(),t.text,t.elm,t.context,t.componentOptions,t.asyncFactory);return e.ns=t.ns,e.isStatic=t.isStatic,e.key=t.key,e.isComment=t.isComment,e.fnContext=t.fnContext,e.fnOptions=t.fnOptions,e.fnScopeId=t.fnScopeId,e.asyncMeta=t.asyncMeta,e.isCloned=!0,e}var $t=Array.prototype,xt=Object.create($t),At=["push","pop","shift","unshift","splice","sort","reverse"];At.forEach((function(t){var e=$t[t];z(xt,t,(function(){var n=[],r=arguments.length;while(r--)n[r]=arguments[r];var i,o=e.apply(this,n),a=this.__ob__;switch(t){case"push":case"unshift":i=n;break;case"splice":i=n.slice(2);break}return i&&a.observeArray(i),a.dep.notify(),o}))}));var Ot=Object.getOwnPropertyNames(xt),St=!0;function Tt(t){St=t}var Et=function(t){this.value=t,this.dep=new vt,this.vmCount=0,z(t,"__ob__",this),Array.isArray(t)?(G?jt(t,xt):Ft(t,xt,Ot),this.observeArray(t)):this.walk(t)};function jt(t,e){t.__proto__=e}function Ft(t,e,n){for(var r=0,i=n.length;r<i;r++){var o=n[r];z(t,o,e[o])}}function It(t,e){var n;if(c(t)&&!(t instanceof _t))return b(t,"__ob__")&&t.__ob__ instanceof Et?n=t.__ob__:St&&!ct()&&(Array.isArray(t)||l(t))&&Object.isExtensible(t)&&!t._isVue&&(n=new Et(t)),e&&n&&n.vmCount++,n}function Lt(t,e,n,r,i){var o=new vt,a=Object.getOwnPropertyDescriptor(t,e);if(!a||!1!==a.configurable){var s=a&&a.get,c=a&&a.set;s&&!c||2!==arguments.length||(n=t[e]);var u=!i&&It(n);Object.defineProperty(t,e,{enumerable:!0,configurable:!0,get:function(){var e=s?s.call(t):n;return vt.target&&(o.depend(),u&&(u.dep.depend(),Array.isArray(e)&&Rt(e))),e},set:function(e){var r=s?s.call(t):n;e===r||e!==e&&r!==r||s&&!c||(c?c.call(t,e):n=e,u=!i&&It(e),o.notify())}})}}function Mt(t,e,n){if(Array.isArray(t)&&p(e))return t.length=Math.max(t.length,e),t.splice(e,1,n),n;if(e in t&&!(e in Object.prototype))return t[e]=n,n;var r=t.__ob__;return t._isVue||r&&r.vmCount?n:r?(Lt(r.value,e,n),r.dep.notify(),n):(t[e]=n,n)}function Dt(t,e){if(Array.isArray(t)&&p(e))t.splice(e,1);else{var n=t.__ob__;t._isVue||n&&n.vmCount||b(t,e)&&(delete t[e],n&&n.dep.notify())}}function Rt(t){for(var e=void 0,n=0,r=t.length;n<r;n++)e=t[n],e&&e.__ob__&&e.__ob__.dep.depend(),Array.isArray(e)&&Rt(e)}Et.prototype.walk=function(t){for(var e=Object.keys(t),n=0;n<e.length;n++)Lt(t,e[n])},Et.prototype.observeArray=function(t){for(var e=0,n=t.length;e<n;e++)It(t[e])};var Nt=H.optionMergeStrategies;function Pt(t,e){if(!e)return t;for(var n,r,i,o=pt?Reflect.ownKeys(e):Object.keys(e),a=0;a<o.length;a++)n=o[a],"__ob__"!==n&&(r=t[n],i=e[n],b(t,n)?r!==i&&l(r)&&l(i)&&Pt(r,i):Mt(t,n,i));return t}function Vt(t,e,n){return n?function(){var r="function"===typeof e?e.call(n,n):e,i="function"===typeof t?t.call(n,n):t;return r?Pt(r,i):i}:e?t?function(){return Pt("function"===typeof e?e.call(this,this):e,"function"===typeof t?t.call(this,this):t)}:e:t}function Wt(t,e){var n=e?t?t.concat(e):Array.isArray(e)?e:[e]:t;return n?Ht(n):n}function Ht(t){for(var e=[],n=0;n<t.length;n++)-1===e.indexOf(t[n])&&e.push(t[n]);return e}function Ut(t,e,n,r){var i=Object.create(t||null);return e?j(i,e):i}Nt.data=function(t,e,n){return n?Vt(t,e,n):e&&"function"!==typeof e?t:Vt(t,e)},W.forEach((function(t){Nt[t]=Wt})),V.forEach((function(t){Nt[t+"s"]=Ut})),Nt.watch=function(t,e,n,r){if(t===ot&&(t=void 0),e===ot&&(e=void 0),!e)return Object.create(t||null);if(!t)return e;var i={};for(var o in j(i,t),e){var a=i[o],s=e[o];a&&!Array.isArray(a)&&(a=[a]),i[o]=a?a.concat(s):Array.isArray(s)?s:[s]}return i},Nt.props=Nt.methods=Nt.inject=Nt.computed=function(t,e,n,r){if(!t)return e;var i=Object.create(null);return j(i,t),e&&j(i,e),i},Nt.provide=Vt;var Bt=function(t,e){return void 0===e?t:e};function zt(t,e){var n=t.props;if(n){var r,i,o,a={};if(Array.isArray(n)){r=n.length;while(r--)i=n[r],"string"===typeof i&&(o=k(i),a[o]={type:null})}else if(l(n))for(var s in n)i=n[s],o=k(s),a[o]=l(i)?i:{type:i};else 0;t.props=a}}function qt(t,e){var n=t.inject;if(n){var r=t.inject={};if(Array.isArray(n))for(var i=0;i<n.length;i++)r[n[i]]={from:n[i]};else if(l(n))for(var o in n){var a=n[o];r[o]=l(a)?j({from:o},a):{from:a}}else 0}}function Jt(t){var e=t.directives;if(e)for(var n in e){var r=e[n];"function"===typeof r&&(e[n]={bind:r,update:r})}}function Kt(t,e,n){if("function"===typeof e&&(e=e.options),zt(e,n),qt(e,n),Jt(e),!e._base&&(e.extends&&(t=Kt(t,e.extends,n)),e.mixins))for(var r=0,i=e.mixins.length;r<i;r++)t=Kt(t,e.mixins[r],n);var o,a={};for(o in t)s(o);for(o in e)b(t,o)||s(o);function s(r){var i=Nt[r]||Bt;a[r]=i(t[r],e[r],n,r)}return a}function Gt(t,e,n,r){if("string"===typeof n){var i=t[e];if(b(i,n))return i[n];var o=k(n);if(b(i,o))return i[o];var a=$(o);if(b(i,a))return i[a];var s=i[n]||i[o]||i[a];return s}}function Xt(t,e,n,r){var i=e[t],o=!b(n,t),a=n[t],s=ee(Boolean,i.type);if(s>-1)if(o&&!b(i,"default"))a=!1;else if(""===a||a===A(t)){var c=ee(String,i.type);(c<0||s<c)&&(a=!0)}if(void 0===a){a=Zt(r,i,t);var u=St;Tt(!0),It(a),Tt(u)}return a}function Zt(t,e,n){if(b(e,"default")){var r=e.default;return t&&t.$options.propsData&&void 0===t.$options.propsData[n]&&void 0!==t._props[n]?t._props[n]:"function"===typeof r&&"Function"!==Qt(e.type)?r.call(t):r}}var Yt=/^\s*function (\w+)/;function Qt(t){var e=t&&t.toString().match(Yt);return e?e[1]:""}function te(t,e){return Qt(t)===Qt(e)}function ee(t,e){if(!Array.isArray(e))return te(e,t)?0:-1;for(var n=0,r=e.length;n<r;n++)if(te(e[n],t))return n;return-1}function ne(t,e,n){yt();try{if(e){var r=e;while(r=r.$parent){var i=r.$options.errorCaptured;if(i)for(var o=0;o<i.length;o++)try{var a=!1===i[o].call(r,t,e,n);if(a)return}catch($a){ie($a,r,"errorCaptured hook")}}}ie(t,e,n)}finally{gt()}}function re(t,e,n,r,i){var o;try{o=n?t.apply(e,n):t.call(e),o&&!o._isVue&&h(o)&&!o._handled&&(o.catch((function(t){return ne(t,r,i+" (Promise/async)")})),o._handled=!0)}catch($a){ne($a,r,i)}return o}function ie(t,e,n){if(H.errorHandler)try{return H.errorHandler.call(null,t,e,n)}catch($a){$a!==t&&oe($a,null,"config.errorHandler")}oe(t,e,n)}function oe(t,e,n){if(!X&&!Z||"undefined"===typeof console)throw t;console.error(t)}var ae,se=!1,ce=[],ue=!1;function le(){ue=!1;var t=ce.slice(0);ce.length=0;for(var e=0;e<t.length;e++)t[e]()}if("undefined"!==typeof Promise&<(Promise)){var fe=Promise.resolve();ae=function(){fe.then(le),rt&&setTimeout(I)},se=!0}else if(tt||"undefined"===typeof MutationObserver||!lt(MutationObserver)&&"[object MutationObserverConstructor]"!==MutationObserver.toString())ae="undefined"!==typeof setImmediate&<(setImmediate)?function(){setImmediate(le)}:function(){setTimeout(le,0)};else{var pe=1,he=new MutationObserver(le),de=document.createTextNode(String(pe));he.observe(de,{characterData:!0}),ae=function(){pe=(pe+1)%2,de.data=String(pe)},se=!0}function ve(t,e){var n;if(ce.push((function(){if(t)try{t.call(e)}catch($a){ne($a,e,"nextTick")}else n&&n(e)})),ue||(ue=!0,ae()),!t&&"undefined"!==typeof Promise)return new Promise((function(t){n=t}))}var me=new ft;function ye(t){ge(t,me),me.clear()}function ge(t,e){var n,r,i=Array.isArray(t);if(!(!i&&!c(t)||Object.isFrozen(t)||t instanceof _t)){if(t.__ob__){var o=t.__ob__.dep.id;if(e.has(o))return;e.add(o)}if(i){n=t.length;while(n--)ge(t[n],e)}else{r=Object.keys(t),n=r.length;while(n--)ge(t[r[n]],e)}}}var _e=w((function(t){var e="&"===t.charAt(0);t=e?t.slice(1):t;var n="~"===t.charAt(0);t=n?t.slice(1):t;var r="!"===t.charAt(0);return t=r?t.slice(1):t,{name:t,once:n,capture:r,passive:e}}));function be(t,e){function n(){var t=arguments,r=n.fns;if(!Array.isArray(r))return re(r,null,arguments,e,"v-on handler");for(var i=r.slice(),o=0;o<i.length;o++)re(i[o],null,t,e,"v-on handler")}return n.fns=t,n}function we(t,e,n,i,a,s){var c,u,l,f;for(c in t)u=t[c],l=e[c],f=_e(c),r(u)||(r(l)?(r(u.fns)&&(u=t[c]=be(u,s)),o(f.once)&&(u=t[c]=a(f.name,u,f.capture)),n(f.name,u,f.capture,f.passive,f.params)):u!==l&&(l.fns=u,t[c]=l));for(c in e)r(t[c])&&(f=_e(c),i(f.name,e[c],f.capture))}function Ce(t,e,n){var a;t instanceof _t&&(t=t.data.hook||(t.data.hook={}));var s=t[e];function c(){n.apply(this,arguments),g(a.fns,c)}r(s)?a=be([c]):i(s.fns)&&o(s.merged)?(a=s,a.fns.push(c)):a=be([s,c]),a.merged=!0,t[e]=a}function ke(t,e,n){var o=e.options.props;if(!r(o)){var a={},s=t.attrs,c=t.props;if(i(s)||i(c))for(var u in o){var l=A(u);$e(a,c,u,l,!0)||$e(a,s,u,l,!1)}return a}}function $e(t,e,n,r,o){if(i(e)){if(b(e,n))return t[n]=e[n],o||delete e[n],!0;if(b(e,r))return t[n]=e[r],o||delete e[r],!0}return!1}function xe(t){for(var e=0;e<t.length;e++)if(Array.isArray(t[e]))return Array.prototype.concat.apply([],t);return t}function Ae(t){return s(t)?[Ct(t)]:Array.isArray(t)?Se(t):void 0}function Oe(t){return i(t)&&i(t.text)&&a(t.isComment)}function Se(t,e){var n,a,c,u,l=[];for(n=0;n<t.length;n++)a=t[n],r(a)||"boolean"===typeof a||(c=l.length-1,u=l[c],Array.isArray(a)?a.length>0&&(a=Se(a,(e||"")+"_"+n),Oe(a[0])&&Oe(u)&&(l[c]=Ct(u.text+a[0].text),a.shift()),l.push.apply(l,a)):s(a)?Oe(u)?l[c]=Ct(u.text+a):""!==a&&l.push(Ct(a)):Oe(a)&&Oe(u)?l[c]=Ct(u.text+a.text):(o(t._isVList)&&i(a.tag)&&r(a.key)&&i(e)&&(a.key="__vlist"+e+"_"+n+"__"),l.push(a)));return l}function Te(t){var e=t.$options.provide;e&&(t._provided="function"===typeof e?e.call(t):e)}function Ee(t){var e=je(t.$options.inject,t);e&&(Tt(!1),Object.keys(e).forEach((function(n){Lt(t,n,e[n])})),Tt(!0))}function je(t,e){if(t){for(var n=Object.create(null),r=pt?Reflect.ownKeys(t):Object.keys(t),i=0;i<r.length;i++){var o=r[i];if("__ob__"!==o){var a=t[o].from,s=e;while(s){if(s._provided&&b(s._provided,a)){n[o]=s._provided[a];break}s=s.$parent}if(!s)if("default"in t[o]){var c=t[o].default;n[o]="function"===typeof c?c.call(e):c}else 0}}return n}}function Fe(t,e){if(!t||!t.length)return{};for(var n={},r=0,i=t.length;r<i;r++){var o=t[r],a=o.data;if(a&&a.attrs&&a.attrs.slot&&delete a.attrs.slot,o.context!==e&&o.fnContext!==e||!a||null==a.slot)(n.default||(n.default=[])).push(o);else{var s=a.slot,c=n[s]||(n[s]=[]);"template"===o.tag?c.push.apply(c,o.children||[]):c.push(o)}}for(var u in n)n[u].every(Ie)&&delete n[u];return n}function Ie(t){return t.isComment&&!t.asyncFactory||" "===t.text}function Le(t){return t.isComment&&t.asyncFactory}function Me(t,e,r){var i,o=Object.keys(e).length>0,a=t?!!t.$stable:!o,s=t&&t.$key;if(t){if(t._normalized)return t._normalized;if(a&&r&&r!==n&&s===r.$key&&!o&&!r.$hasNormal)return r;for(var c in i={},t)t[c]&&"$"!==c[0]&&(i[c]=De(e,c,t[c]))}else i={};for(var u in e)u in i||(i[u]=Re(e,u));return t&&Object.isExtensible(t)&&(t._normalized=i),z(i,"$stable",a),z(i,"$key",s),z(i,"$hasNormal",o),i}function De(t,e,n){var r=function(){var t=arguments.length?n.apply(null,arguments):n({});t=t&&"object"===typeof t&&!Array.isArray(t)?[t]:Ae(t);var e=t&&t[0];return t&&(!e||1===t.length&&e.isComment&&!Le(e))?void 0:t};return n.proxy&&Object.defineProperty(t,e,{get:r,enumerable:!0,configurable:!0}),r}function Re(t,e){return function(){return t[e]}}function Ne(t,e){var n,r,o,a,s;if(Array.isArray(t)||"string"===typeof t)for(n=new Array(t.length),r=0,o=t.length;r<o;r++)n[r]=e(t[r],r);else if("number"===typeof t)for(n=new Array(t),r=0;r<t;r++)n[r]=e(r+1,r);else if(c(t))if(pt&&t[Symbol.iterator]){n=[];var u=t[Symbol.iterator](),l=u.next();while(!l.done)n.push(e(l.value,n.length)),l=u.next()}else for(a=Object.keys(t),n=new Array(a.length),r=0,o=a.length;r<o;r++)s=a[r],n[r]=e(t[s],s,r);return i(n)||(n=[]),n._isVList=!0,n}function Pe(t,e,n,r){var i,o=this.$scopedSlots[t];o?(n=n||{},r&&(n=j(j({},r),n)),i=o(n)||("function"===typeof e?e():e)):i=this.$slots[t]||("function"===typeof e?e():e);var a=n&&n.slot;return a?this.$createElement("template",{slot:a},i):i}function Ve(t){return Gt(this.$options,"filters",t,!0)||M}function We(t,e){return Array.isArray(t)?-1===t.indexOf(e):t!==e}function He(t,e,n,r,i){var o=H.keyCodes[e]||n;return i&&r&&!H.keyCodes[e]?We(i,r):o?We(o,t):r?A(r)!==e:void 0===t}function Ue(t,e,n,r,i){if(n)if(c(n)){var o;Array.isArray(n)&&(n=F(n));var a=function(a){if("class"===a||"style"===a||y(a))o=t;else{var s=t.attrs&&t.attrs.type;o=r||H.mustUseProp(e,s,a)?t.domProps||(t.domProps={}):t.attrs||(t.attrs={})}var c=k(a),u=A(a);if(!(c in o)&&!(u in o)&&(o[a]=n[a],i)){var l=t.on||(t.on={});l["update:"+a]=function(t){n[a]=t}}};for(var s in n)a(s)}else;return t}function Be(t,e){var n=this._staticTrees||(this._staticTrees=[]),r=n[t];return r&&!e||(r=n[t]=this.$options.staticRenderFns[t].call(this._renderProxy,null,this),qe(r,"__static__"+t,!1)),r}function ze(t,e,n){return qe(t,"__once__"+e+(n?"_"+n:""),!0),t}function qe(t,e,n){if(Array.isArray(t))for(var r=0;r<t.length;r++)t[r]&&"string"!==typeof t[r]&&Je(t[r],e+"_"+r,n);else Je(t,e,n)}function Je(t,e,n){t.isStatic=!0,t.key=e,t.isOnce=n}function Ke(t,e){if(e)if(l(e)){var n=t.on=t.on?j({},t.on):{};for(var r in e){var i=n[r],o=e[r];n[r]=i?[].concat(i,o):o}}else;return t}function Ge(t,e,n,r){e=e||{$stable:!n};for(var i=0;i<t.length;i++){var o=t[i];Array.isArray(o)?Ge(o,e,n):o&&(o.proxy&&(o.fn.proxy=!0),e[o.key]=o.fn)}return r&&(e.$key=r),e}function Xe(t,e){for(var n=0;n<e.length;n+=2){var r=e[n];"string"===typeof r&&r&&(t[e[n]]=e[n+1])}return t}function Ze(t,e){return"string"===typeof t?e+t:t}function Ye(t){t._o=ze,t._n=v,t._s=d,t._l=Ne,t._t=Pe,t._q=D,t._i=R,t._m=Be,t._f=Ve,t._k=He,t._b=Ue,t._v=Ct,t._e=wt,t._u=Ge,t._g=Ke,t._d=Xe,t._p=Ze}function Qe(t,e,r,i,a){var s,c=this,u=a.options;b(i,"_uid")?(s=Object.create(i),s._original=i):(s=i,i=i._original);var l=o(u._compiled),f=!l;this.data=t,this.props=e,this.children=r,this.parent=i,this.listeners=t.on||n,this.injections=je(u.inject,i),this.slots=function(){return c.$slots||Me(t.scopedSlots,c.$slots=Fe(r,i)),c.$slots},Object.defineProperty(this,"scopedSlots",{enumerable:!0,get:function(){return Me(t.scopedSlots,this.slots())}}),l&&(this.$options=u,this.$slots=this.slots(),this.$scopedSlots=Me(t.scopedSlots,this.$slots)),u._scopeId?this._c=function(t,e,n,r){var o=hn(s,t,e,n,r,f);return o&&!Array.isArray(o)&&(o.fnScopeId=u._scopeId,o.fnContext=i),o}:this._c=function(t,e,n,r){return hn(s,t,e,n,r,f)}}function tn(t,e,r,o,a){var s=t.options,c={},u=s.props;if(i(u))for(var l in u)c[l]=Xt(l,u,e||n);else i(r.attrs)&&nn(c,r.attrs),i(r.props)&&nn(c,r.props);var f=new Qe(r,c,a,o,t),p=s.render.call(null,f._c,f);if(p instanceof _t)return en(p,r,f.parent,s,f);if(Array.isArray(p)){for(var h=Ae(p)||[],d=new Array(h.length),v=0;v<h.length;v++)d[v]=en(h[v],r,f.parent,s,f);return d}}function en(t,e,n,r,i){var o=kt(t);return o.fnContext=n,o.fnOptions=r,e.slot&&((o.data||(o.data={})).slot=e.slot),o}function nn(t,e){for(var n in e)t[k(n)]=e[n]}Ye(Qe.prototype);var rn={init:function(t,e){if(t.componentInstance&&!t.componentInstance._isDestroyed&&t.data.keepAlive){var n=t;rn.prepatch(n,n)}else{var r=t.componentInstance=sn(t,jn);r.$mount(e?t.elm:void 0,e)}},prepatch:function(t,e){var n=e.componentOptions,r=e.componentInstance=t.componentInstance;Dn(r,n.propsData,n.listeners,e,n.children)},insert:function(t){var e=t.context,n=t.componentInstance;n._isMounted||(n._isMounted=!0,Vn(n,"mounted")),t.data.keepAlive&&(e._isMounted?Qn(n):Nn(n,!0))},destroy:function(t){var e=t.componentInstance;e._isDestroyed||(t.data.keepAlive?Pn(e,!0):e.$destroy())}},on=Object.keys(rn);function an(t,e,n,a,s){if(!r(t)){var u=n.$options._base;if(c(t)&&(t=u.extend(t)),"function"===typeof t){var l;if(r(t.cid)&&(l=t,t=kn(l,u),void 0===t))return Cn(l,e,n,a,s);e=e||{},Cr(t),i(e.model)&&ln(t.options,e);var f=ke(e,t,s);if(o(t.options.functional))return tn(t,f,e,n,a);var p=e.on;if(e.on=e.nativeOn,o(t.options.abstract)){var h=e.slot;e={},h&&(e.slot=h)}cn(e);var d=t.options.name||s,v=new _t("vue-component-"+t.cid+(d?"-"+d:""),e,void 0,void 0,void 0,n,{Ctor:t,propsData:f,listeners:p,tag:s,children:a},l);return v}}}function sn(t,e){var n={_isComponent:!0,_parentVnode:t,parent:e},r=t.data.inlineTemplate;return i(r)&&(n.render=r.render,n.staticRenderFns=r.staticRenderFns),new t.componentOptions.Ctor(n)}function cn(t){for(var e=t.hook||(t.hook={}),n=0;n<on.length;n++){var r=on[n],i=e[r],o=rn[r];i===o||i&&i._merged||(e[r]=i?un(o,i):o)}}function un(t,e){var n=function(n,r){t(n,r),e(n,r)};return n._merged=!0,n}function ln(t,e){var n=t.model&&t.model.prop||"value",r=t.model&&t.model.event||"input";(e.attrs||(e.attrs={}))[n]=e.model.value;var o=e.on||(e.on={}),a=o[r],s=e.model.callback;i(a)?(Array.isArray(a)?-1===a.indexOf(s):a!==s)&&(o[r]=[s].concat(a)):o[r]=s}var fn=1,pn=2;function hn(t,e,n,r,i,a){return(Array.isArray(n)||s(n))&&(i=r,r=n,n=void 0),o(a)&&(i=pn),dn(t,e,n,r,i)}function dn(t,e,n,r,o){if(i(n)&&i(n.__ob__))return wt();if(i(n)&&i(n.is)&&(e=n.is),!e)return wt();var a,s,c;(Array.isArray(r)&&"function"===typeof r[0]&&(n=n||{},n.scopedSlots={default:r[0]},r.length=0),o===pn?r=Ae(r):o===fn&&(r=xe(r)),"string"===typeof e)?(s=t.$vnode&&t.$vnode.ns||H.getTagNamespace(e),a=H.isReservedTag(e)?new _t(H.parsePlatformTagName(e),n,r,void 0,void 0,t):n&&n.pre||!i(c=Gt(t.$options,"components",e))?new _t(e,n,r,void 0,void 0,t):an(c,n,t,r,e)):a=an(e,n,t,r);return Array.isArray(a)?a:i(a)?(i(s)&&vn(a,s),i(n)&&mn(n),a):wt()}function vn(t,e,n){if(t.ns=e,"foreignObject"===t.tag&&(e=void 0,n=!0),i(t.children))for(var a=0,s=t.children.length;a<s;a++){var c=t.children[a];i(c.tag)&&(r(c.ns)||o(n)&&"svg"!==c.tag)&&vn(c,e,n)}}function mn(t){c(t.style)&&ye(t.style),c(t.class)&&ye(t.class)}function yn(t){t._vnode=null,t._staticTrees=null;var e=t.$options,r=t.$vnode=e._parentVnode,i=r&&r.context;t.$slots=Fe(e._renderChildren,i),t.$scopedSlots=n,t._c=function(e,n,r,i){return hn(t,e,n,r,i,!1)},t.$createElement=function(e,n,r,i){return hn(t,e,n,r,i,!0)};var o=r&&r.data;Lt(t,"$attrs",o&&o.attrs||n,null,!0),Lt(t,"$listeners",e._parentListeners||n,null,!0)}var gn,_n=null;function bn(t){Ye(t.prototype),t.prototype.$nextTick=function(t){return ve(t,this)},t.prototype._render=function(){var t,e=this,n=e.$options,r=n.render,i=n._parentVnode;i&&(e.$scopedSlots=Me(i.data.scopedSlots,e.$slots,e.$scopedSlots)),e.$vnode=i;try{_n=e,t=r.call(e._renderProxy,e.$createElement)}catch($a){ne($a,e,"render"),t=e._vnode}finally{_n=null}return Array.isArray(t)&&1===t.length&&(t=t[0]),t instanceof _t||(t=wt()),t.parent=i,t}}function wn(t,e){return(t.__esModule||pt&&"Module"===t[Symbol.toStringTag])&&(t=t.default),c(t)?e.extend(t):t}function Cn(t,e,n,r,i){var o=wt();return o.asyncFactory=t,o.asyncMeta={data:e,context:n,children:r,tag:i},o}function kn(t,e){if(o(t.error)&&i(t.errorComp))return t.errorComp;if(i(t.resolved))return t.resolved;var n=_n;if(n&&i(t.owners)&&-1===t.owners.indexOf(n)&&t.owners.push(n),o(t.loading)&&i(t.loadingComp))return t.loadingComp;if(n&&!i(t.owners)){var a=t.owners=[n],s=!0,u=null,l=null;n.$on("hook:destroyed",(function(){return g(a,n)}));var f=function(t){for(var e=0,n=a.length;e<n;e++)a[e].$forceUpdate();t&&(a.length=0,null!==u&&(clearTimeout(u),u=null),null!==l&&(clearTimeout(l),l=null))},p=N((function(n){t.resolved=wn(n,e),s?a.length=0:f(!0)})),d=N((function(e){i(t.errorComp)&&(t.error=!0,f(!0))})),v=t(p,d);return c(v)&&(h(v)?r(t.resolved)&&v.then(p,d):h(v.component)&&(v.component.then(p,d),i(v.error)&&(t.errorComp=wn(v.error,e)),i(v.loading)&&(t.loadingComp=wn(v.loading,e),0===v.delay?t.loading=!0:u=setTimeout((function(){u=null,r(t.resolved)&&r(t.error)&&(t.loading=!0,f(!1))}),v.delay||200)),i(v.timeout)&&(l=setTimeout((function(){l=null,r(t.resolved)&&d(null)}),v.timeout)))),s=!1,t.loading?t.loadingComp:t.resolved}}function $n(t){if(Array.isArray(t))for(var e=0;e<t.length;e++){var n=t[e];if(i(n)&&(i(n.componentOptions)||Le(n)))return n}}function xn(t){t._events=Object.create(null),t._hasHookEvent=!1;var e=t.$options._parentListeners;e&&Tn(t,e)}function An(t,e){gn.$on(t,e)}function On(t,e){gn.$off(t,e)}function Sn(t,e){var n=gn;return function r(){var i=e.apply(null,arguments);null!==i&&n.$off(t,r)}}function Tn(t,e,n){gn=t,we(e,n||{},An,On,Sn,t),gn=void 0}function En(t){var e=/^hook:/;t.prototype.$on=function(t,n){var r=this;if(Array.isArray(t))for(var i=0,o=t.length;i<o;i++)r.$on(t[i],n);else(r._events[t]||(r._events[t]=[])).push(n),e.test(t)&&(r._hasHookEvent=!0);return r},t.prototype.$once=function(t,e){var n=this;function r(){n.$off(t,r),e.apply(n,arguments)}return r.fn=e,n.$on(t,r),n},t.prototype.$off=function(t,e){var n=this;if(!arguments.length)return n._events=Object.create(null),n;if(Array.isArray(t)){for(var r=0,i=t.length;r<i;r++)n.$off(t[r],e);return n}var o,a=n._events[t];if(!a)return n;if(!e)return n._events[t]=null,n;var s=a.length;while(s--)if(o=a[s],o===e||o.fn===e){a.splice(s,1);break}return n},t.prototype.$emit=function(t){var e=this,n=e._events[t];if(n){n=n.length>1?E(n):n;for(var r=E(arguments,1),i='event handler for "'+t+'"',o=0,a=n.length;o<a;o++)re(n[o],e,r,e,i)}return e}}var jn=null;function Fn(t){var e=jn;return jn=t,function(){jn=e}}function In(t){var e=t.$options,n=e.parent;if(n&&!e.abstract){while(n.$options.abstract&&n.$parent)n=n.$parent;n.$children.push(t)}t.$parent=n,t.$root=n?n.$root:t,t.$children=[],t.$refs={},t._watcher=null,t._inactive=null,t._directInactive=!1,t._isMounted=!1,t._isDestroyed=!1,t._isBeingDestroyed=!1}function Ln(t){t.prototype._update=function(t,e){var n=this,r=n.$el,i=n._vnode,o=Fn(n);n._vnode=t,n.$el=i?n.__patch__(i,t):n.__patch__(n.$el,t,e,!1),o(),r&&(r.__vue__=null),n.$el&&(n.$el.__vue__=n),n.$vnode&&n.$parent&&n.$vnode===n.$parent._vnode&&(n.$parent.$el=n.$el)},t.prototype.$forceUpdate=function(){var t=this;t._watcher&&t._watcher.update()},t.prototype.$destroy=function(){var t=this;if(!t._isBeingDestroyed){Vn(t,"beforeDestroy"),t._isBeingDestroyed=!0;var e=t.$parent;!e||e._isBeingDestroyed||t.$options.abstract||g(e.$children,t),t._watcher&&t._watcher.teardown();var n=t._watchers.length;while(n--)t._watchers[n].teardown();t._data.__ob__&&t._data.__ob__.vmCount--,t._isDestroyed=!0,t.__patch__(t._vnode,null),Vn(t,"destroyed"),t.$off(),t.$el&&(t.$el.__vue__=null),t.$vnode&&(t.$vnode.parent=null)}}}function Mn(t,e,n){var r;return t.$el=e,t.$options.render||(t.$options.render=wt),Vn(t,"beforeMount"),r=function(){t._update(t._render(),n)},new rr(t,r,I,{before:function(){t._isMounted&&!t._isDestroyed&&Vn(t,"beforeUpdate")}},!0),n=!1,null==t.$vnode&&(t._isMounted=!0,Vn(t,"mounted")),t}function Dn(t,e,r,i,o){var a=i.data.scopedSlots,s=t.$scopedSlots,c=!!(a&&!a.$stable||s!==n&&!s.$stable||a&&t.$scopedSlots.$key!==a.$key||!a&&t.$scopedSlots.$key),u=!!(o||t.$options._renderChildren||c);if(t.$options._parentVnode=i,t.$vnode=i,t._vnode&&(t._vnode.parent=i),t.$options._renderChildren=o,t.$attrs=i.data.attrs||n,t.$listeners=r||n,e&&t.$options.props){Tt(!1);for(var l=t._props,f=t.$options._propKeys||[],p=0;p<f.length;p++){var h=f[p],d=t.$options.props;l[h]=Xt(h,d,e,t)}Tt(!0),t.$options.propsData=e}r=r||n;var v=t.$options._parentListeners;t.$options._parentListeners=r,Tn(t,r,v),u&&(t.$slots=Fe(o,i.context),t.$forceUpdate())}function Rn(t){while(t&&(t=t.$parent))if(t._inactive)return!0;return!1}function Nn(t,e){if(e){if(t._directInactive=!1,Rn(t))return}else if(t._directInactive)return;if(t._inactive||null===t._inactive){t._inactive=!1;for(var n=0;n<t.$children.length;n++)Nn(t.$children[n]);Vn(t,"activated")}}function Pn(t,e){if((!e||(t._directInactive=!0,!Rn(t)))&&!t._inactive){t._inactive=!0;for(var n=0;n<t.$children.length;n++)Pn(t.$children[n]);Vn(t,"deactivated")}}function Vn(t,e){yt();var n=t.$options[e],r=e+" hook";if(n)for(var i=0,o=n.length;i<o;i++)re(n[i],t,null,t,r);t._hasHookEvent&&t.$emit("hook:"+e),gt()}var Wn=[],Hn=[],Un={},Bn=!1,zn=!1,qn=0;function Jn(){qn=Wn.length=Hn.length=0,Un={},Bn=zn=!1}var Kn=0,Gn=Date.now;if(X&&!tt){var Xn=window.performance;Xn&&"function"===typeof Xn.now&&Gn()>document.createEvent("Event").timeStamp&&(Gn=function(){return Xn.now()})}function Zn(){var t,e;for(Kn=Gn(),zn=!0,Wn.sort((function(t,e){return t.id-e.id})),qn=0;qn<Wn.length;qn++)t=Wn[qn],t.before&&t.before(),e=t.id,Un[e]=null,t.run();var n=Hn.slice(),r=Wn.slice();Jn(),tr(n),Yn(r),ut&&H.devtools&&ut.emit("flush")}function Yn(t){var e=t.length;while(e--){var n=t[e],r=n.vm;r._watcher===n&&r._isMounted&&!r._isDestroyed&&Vn(r,"updated")}}function Qn(t){t._inactive=!1,Hn.push(t)}function tr(t){for(var e=0;e<t.length;e++)t[e]._inactive=!0,Nn(t[e],!0)}function er(t){var e=t.id;if(null==Un[e]){if(Un[e]=!0,zn){var n=Wn.length-1;while(n>qn&&Wn[n].id>t.id)n--;Wn.splice(n+1,0,t)}else Wn.push(t);Bn||(Bn=!0,ve(Zn))}}var nr=0,rr=function(t,e,n,r,i){this.vm=t,i&&(t._watcher=this),t._watchers.push(this),r?(this.deep=!!r.deep,this.user=!!r.user,this.lazy=!!r.lazy,this.sync=!!r.sync,this.before=r.before):this.deep=this.user=this.lazy=this.sync=!1,this.cb=n,this.id=++nr,this.active=!0,this.dirty=this.lazy,this.deps=[],this.newDeps=[],this.depIds=new ft,this.newDepIds=new ft,this.expression="","function"===typeof e?this.getter=e:(this.getter=J(e),this.getter||(this.getter=I)),this.value=this.lazy?void 0:this.get()};rr.prototype.get=function(){var t;yt(this);var e=this.vm;try{t=this.getter.call(e,e)}catch($a){if(!this.user)throw $a;ne($a,e,'getter for watcher "'+this.expression+'"')}finally{this.deep&&ye(t),gt(),this.cleanupDeps()}return t},rr.prototype.addDep=function(t){var e=t.id;this.newDepIds.has(e)||(this.newDepIds.add(e),this.newDeps.push(t),this.depIds.has(e)||t.addSub(this))},rr.prototype.cleanupDeps=function(){var t=this.deps.length;while(t--){var e=this.deps[t];this.newDepIds.has(e.id)||e.removeSub(this)}var n=this.depIds;this.depIds=this.newDepIds,this.newDepIds=n,this.newDepIds.clear(),n=this.deps,this.deps=this.newDeps,this.newDeps=n,this.newDeps.length=0},rr.prototype.update=function(){this.lazy?this.dirty=!0:this.sync?this.run():er(this)},rr.prototype.run=function(){if(this.active){var t=this.get();if(t!==this.value||c(t)||this.deep){var e=this.value;if(this.value=t,this.user){var n='callback for watcher "'+this.expression+'"';re(this.cb,this.vm,[t,e],this.vm,n)}else this.cb.call(this.vm,t,e)}}},rr.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},rr.prototype.depend=function(){var t=this.deps.length;while(t--)this.deps[t].depend()},rr.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||g(this.vm._watchers,this);var t=this.deps.length;while(t--)this.deps[t].removeSub(this);this.active=!1}};var ir={enumerable:!0,configurable:!0,get:I,set:I};function or(t,e,n){ir.get=function(){return this[e][n]},ir.set=function(t){this[e][n]=t},Object.defineProperty(t,n,ir)}function ar(t){t._watchers=[];var e=t.$options;e.props&&sr(t,e.props),e.methods&&vr(t,e.methods),e.data?cr(t):It(t._data={},!0),e.computed&&fr(t,e.computed),e.watch&&e.watch!==ot&&mr(t,e.watch)}function sr(t,e){var n=t.$options.propsData||{},r=t._props={},i=t.$options._propKeys=[],o=!t.$parent;o||Tt(!1);var a=function(o){i.push(o);var a=Xt(o,e,n,t);Lt(r,o,a),o in t||or(t,"_props",o)};for(var s in e)a(s);Tt(!0)}function cr(t){var e=t.$options.data;e=t._data="function"===typeof e?ur(e,t):e||{},l(e)||(e={});var n=Object.keys(e),r=t.$options.props,i=(t.$options.methods,n.length);while(i--){var o=n[i];0,r&&b(r,o)||B(o)||or(t,"_data",o)}It(e,!0)}function ur(t,e){yt();try{return t.call(e,e)}catch($a){return ne($a,e,"data()"),{}}finally{gt()}}var lr={lazy:!0};function fr(t,e){var n=t._computedWatchers=Object.create(null),r=ct();for(var i in e){var o=e[i],a="function"===typeof o?o:o.get;0,r||(n[i]=new rr(t,a||I,I,lr)),i in t||pr(t,i,o)}}function pr(t,e,n){var r=!ct();"function"===typeof n?(ir.get=r?hr(e):dr(n),ir.set=I):(ir.get=n.get?r&&!1!==n.cache?hr(e):dr(n.get):I,ir.set=n.set||I),Object.defineProperty(t,e,ir)}function hr(t){return function(){var e=this._computedWatchers&&this._computedWatchers[t];if(e)return e.dirty&&e.evaluate(),vt.target&&e.depend(),e.value}}function dr(t){return function(){return t.call(this,this)}}function vr(t,e){t.$options.props;for(var n in e)t[n]="function"!==typeof e[n]?I:T(e[n],t)}function mr(t,e){for(var n in e){var r=e[n];if(Array.isArray(r))for(var i=0;i<r.length;i++)yr(t,n,r[i]);else yr(t,n,r)}}function yr(t,e,n,r){return l(n)&&(r=n,n=n.handler),"string"===typeof n&&(n=t[n]),t.$watch(e,n,r)}function gr(t){var e={get:function(){return this._data}},n={get:function(){return this._props}};Object.defineProperty(t.prototype,"$data",e),Object.defineProperty(t.prototype,"$props",n),t.prototype.$set=Mt,t.prototype.$delete=Dt,t.prototype.$watch=function(t,e,n){var r=this;if(l(e))return yr(r,t,e,n);n=n||{},n.user=!0;var i=new rr(r,t,e,n);if(n.immediate){var o='callback for immediate watcher "'+i.expression+'"';yt(),re(e,r,[i.value],r,o),gt()}return function(){i.teardown()}}}var _r=0;function br(t){t.prototype._init=function(t){var e=this;e._uid=_r++,e._isVue=!0,t&&t._isComponent?wr(e,t):e.$options=Kt(Cr(e.constructor),t||{},e),e._renderProxy=e,e._self=e,In(e),xn(e),yn(e),Vn(e,"beforeCreate"),Ee(e),ar(e),Te(e),Vn(e,"created"),e.$options.el&&e.$mount(e.$options.el)}}function wr(t,e){var n=t.$options=Object.create(t.constructor.options),r=e._parentVnode;n.parent=e.parent,n._parentVnode=r;var i=r.componentOptions;n.propsData=i.propsData,n._parentListeners=i.listeners,n._renderChildren=i.children,n._componentTag=i.tag,e.render&&(n.render=e.render,n.staticRenderFns=e.staticRenderFns)}function Cr(t){var e=t.options;if(t.super){var n=Cr(t.super),r=t.superOptions;if(n!==r){t.superOptions=n;var i=kr(t);i&&j(t.extendOptions,i),e=t.options=Kt(n,t.extendOptions),e.name&&(e.components[e.name]=t)}}return e}function kr(t){var e,n=t.options,r=t.sealedOptions;for(var i in n)n[i]!==r[i]&&(e||(e={}),e[i]=n[i]);return e}function $r(t){this._init(t)}function xr(t){t.use=function(t){var e=this._installedPlugins||(this._installedPlugins=[]);if(e.indexOf(t)>-1)return this;var n=E(arguments,1);return n.unshift(this),"function"===typeof t.install?t.install.apply(t,n):"function"===typeof t&&t.apply(null,n),e.push(t),this}}function Ar(t){t.mixin=function(t){return this.options=Kt(this.options,t),this}}function Or(t){t.cid=0;var e=1;t.extend=function(t){t=t||{};var n=this,r=n.cid,i=t._Ctor||(t._Ctor={});if(i[r])return i[r];var o=t.name||n.options.name;var a=function(t){this._init(t)};return a.prototype=Object.create(n.prototype),a.prototype.constructor=a,a.cid=e++,a.options=Kt(n.options,t),a["super"]=n,a.options.props&&Sr(a),a.options.computed&&Tr(a),a.extend=n.extend,a.mixin=n.mixin,a.use=n.use,V.forEach((function(t){a[t]=n[t]})),o&&(a.options.components[o]=a),a.superOptions=n.options,a.extendOptions=t,a.sealedOptions=j({},a.options),i[r]=a,a}}function Sr(t){var e=t.options.props;for(var n in e)or(t.prototype,"_props",n)}function Tr(t){var e=t.options.computed;for(var n in e)pr(t.prototype,n,e[n])}function Er(t){V.forEach((function(e){t[e]=function(t,n){return n?("component"===e&&l(n)&&(n.name=n.name||t,n=this.options._base.extend(n)),"directive"===e&&"function"===typeof n&&(n={bind:n,update:n}),this.options[e+"s"][t]=n,n):this.options[e+"s"][t]}}))}function jr(t){return t&&(t.Ctor.options.name||t.tag)}function Fr(t,e){return Array.isArray(t)?t.indexOf(e)>-1:"string"===typeof t?t.split(",").indexOf(e)>-1:!!f(t)&&t.test(e)}function Ir(t,e){var n=t.cache,r=t.keys,i=t._vnode;for(var o in n){var a=n[o];if(a){var s=a.name;s&&!e(s)&&Lr(n,o,r,i)}}}function Lr(t,e,n,r){var i=t[e];!i||r&&i.tag===r.tag||i.componentInstance.$destroy(),t[e]=null,g(n,e)}br($r),gr($r),En($r),Ln($r),bn($r);var Mr=[String,RegExp,Array],Dr={name:"keep-alive",abstract:!0,props:{include:Mr,exclude:Mr,max:[String,Number]},methods:{cacheVNode:function(){var t=this,e=t.cache,n=t.keys,r=t.vnodeToCache,i=t.keyToCache;if(r){var o=r.tag,a=r.componentInstance,s=r.componentOptions;e[i]={name:jr(s),tag:o,componentInstance:a},n.push(i),this.max&&n.length>parseInt(this.max)&&Lr(e,n[0],n,this._vnode),this.vnodeToCache=null}}},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var t in this.cache)Lr(this.cache,t,this.keys)},mounted:function(){var t=this;this.cacheVNode(),this.$watch("include",(function(e){Ir(t,(function(t){return Fr(e,t)}))})),this.$watch("exclude",(function(e){Ir(t,(function(t){return!Fr(e,t)}))}))},updated:function(){this.cacheVNode()},render:function(){var t=this.$slots.default,e=$n(t),n=e&&e.componentOptions;if(n){var r=jr(n),i=this,o=i.include,a=i.exclude;if(o&&(!r||!Fr(o,r))||a&&r&&Fr(a,r))return e;var s=this,c=s.cache,u=s.keys,l=null==e.key?n.Ctor.cid+(n.tag?"::"+n.tag:""):e.key;c[l]?(e.componentInstance=c[l].componentInstance,g(u,l),u.push(l)):(this.vnodeToCache=e,this.keyToCache=l),e.data.keepAlive=!0}return e||t&&t[0]}},Rr={KeepAlive:Dr};function Nr(t){var e={get:function(){return H}};Object.defineProperty(t,"config",e),t.util={warn:ht,extend:j,mergeOptions:Kt,defineReactive:Lt},t.set=Mt,t.delete=Dt,t.nextTick=ve,t.observable=function(t){return It(t),t},t.options=Object.create(null),V.forEach((function(e){t.options[e+"s"]=Object.create(null)})),t.options._base=t,j(t.options.components,Rr),xr(t),Ar(t),Or(t),Er(t)}Nr($r),Object.defineProperty($r.prototype,"$isServer",{get:ct}),Object.defineProperty($r.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty($r,"FunctionalRenderContext",{value:Qe}),$r.version="2.6.14";var Pr=m("style,class"),Vr=m("input,textarea,option,select,progress"),Wr=function(t,e,n){return"value"===n&&Vr(t)&&"button"!==e||"selected"===n&&"option"===t||"checked"===n&&"input"===t||"muted"===n&&"video"===t},Hr=m("contenteditable,draggable,spellcheck"),Ur=m("events,caret,typing,plaintext-only"),Br=function(t,e){return Gr(e)||"false"===e?"false":"contenteditable"===t&&Ur(e)?e:"true"},zr=m("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,truespeed,typemustmatch,visible"),qr="http://www.w3.org/1999/xlink",Jr=function(t){return":"===t.charAt(5)&&"xlink"===t.slice(0,5)},Kr=function(t){return Jr(t)?t.slice(6,t.length):""},Gr=function(t){return null==t||!1===t};function Xr(t){var e=t.data,n=t,r=t;while(i(r.componentInstance))r=r.componentInstance._vnode,r&&r.data&&(e=Zr(r.data,e));while(i(n=n.parent))n&&n.data&&(e=Zr(e,n.data));return Yr(e.staticClass,e.class)}function Zr(t,e){return{staticClass:Qr(t.staticClass,e.staticClass),class:i(t.class)?[t.class,e.class]:e.class}}function Yr(t,e){return i(t)||i(e)?Qr(t,ti(e)):""}function Qr(t,e){return t?e?t+" "+e:t:e||""}function ti(t){return Array.isArray(t)?ei(t):c(t)?ni(t):"string"===typeof t?t:""}function ei(t){for(var e,n="",r=0,o=t.length;r<o;r++)i(e=ti(t[r]))&&""!==e&&(n&&(n+=" "),n+=e);return n}function ni(t){var e="";for(var n in t)t[n]&&(e&&(e+=" "),e+=n);return e}var ri={svg:"http://www.w3.org/2000/svg",math:"http://www.w3.org/1998/Math/MathML"},ii=m("html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,menuitem,summary,content,element,shadow,template,blockquote,iframe,tfoot"),oi=m("svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,foreignobject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view",!0),ai=function(t){return ii(t)||oi(t)};function si(t){return oi(t)?"svg":"math"===t?"math":void 0}var ci=Object.create(null);function ui(t){if(!X)return!0;if(ai(t))return!1;if(t=t.toLowerCase(),null!=ci[t])return ci[t];var e=document.createElement(t);return t.indexOf("-")>-1?ci[t]=e.constructor===window.HTMLUnknownElement||e.constructor===window.HTMLElement:ci[t]=/HTMLUnknownElement/.test(e.toString())}var li=m("text,number,password,search,email,tel,url");function fi(t){if("string"===typeof t){var e=document.querySelector(t);return e||document.createElement("div")}return t}function pi(t,e){var n=document.createElement(t);return"select"!==t||e.data&&e.data.attrs&&void 0!==e.data.attrs.multiple&&n.setAttribute("multiple","multiple"),n}function hi(t,e){return document.createElementNS(ri[t],e)}function di(t){return document.createTextNode(t)}function vi(t){return document.createComment(t)}function mi(t,e,n){t.insertBefore(e,n)}function yi(t,e){t.removeChild(e)}function gi(t,e){t.appendChild(e)}function _i(t){return t.parentNode}function bi(t){return t.nextSibling}function wi(t){return t.tagName}function Ci(t,e){t.textContent=e}function ki(t,e){t.setAttribute(e,"")}var $i=Object.freeze({createElement:pi,createElementNS:hi,createTextNode:di,createComment:vi,insertBefore:mi,removeChild:yi,appendChild:gi,parentNode:_i,nextSibling:bi,tagName:wi,setTextContent:Ci,setStyleScope:ki}),xi={create:function(t,e){Ai(e)},update:function(t,e){t.data.ref!==e.data.ref&&(Ai(t,!0),Ai(e))},destroy:function(t){Ai(t,!0)}};function Ai(t,e){var n=t.data.ref;if(i(n)){var r=t.context,o=t.componentInstance||t.elm,a=r.$refs;e?Array.isArray(a[n])?g(a[n],o):a[n]===o&&(a[n]=void 0):t.data.refInFor?Array.isArray(a[n])?a[n].indexOf(o)<0&&a[n].push(o):a[n]=[o]:a[n]=o}}var Oi=new _t("",{},[]),Si=["create","activate","update","remove","destroy"];function Ti(t,e){return t.key===e.key&&t.asyncFactory===e.asyncFactory&&(t.tag===e.tag&&t.isComment===e.isComment&&i(t.data)===i(e.data)&&Ei(t,e)||o(t.isAsyncPlaceholder)&&r(e.asyncFactory.error))}function Ei(t,e){if("input"!==t.tag)return!0;var n,r=i(n=t.data)&&i(n=n.attrs)&&n.type,o=i(n=e.data)&&i(n=n.attrs)&&n.type;return r===o||li(r)&&li(o)}function ji(t,e,n){var r,o,a={};for(r=e;r<=n;++r)o=t[r].key,i(o)&&(a[o]=r);return a}function Fi(t){var e,n,a={},c=t.modules,u=t.nodeOps;for(e=0;e<Si.length;++e)for(a[Si[e]]=[],n=0;n<c.length;++n)i(c[n][Si[e]])&&a[Si[e]].push(c[n][Si[e]]);function l(t){return new _t(u.tagName(t).toLowerCase(),{},[],void 0,t)}function f(t,e){function n(){0===--n.listeners&&p(t)}return n.listeners=e,n}function p(t){var e=u.parentNode(t);i(e)&&u.removeChild(e,t)}function h(t,e,n,r,a,s,c){if(i(t.elm)&&i(s)&&(t=s[c]=kt(t)),t.isRootInsert=!a,!d(t,e,n,r)){var l=t.data,f=t.children,p=t.tag;i(p)?(t.elm=t.ns?u.createElementNS(t.ns,p):u.createElement(p,t),C(t),_(t,f,e),i(l)&&w(t,e),g(n,t.elm,r)):o(t.isComment)?(t.elm=u.createComment(t.text),g(n,t.elm,r)):(t.elm=u.createTextNode(t.text),g(n,t.elm,r))}}function d(t,e,n,r){var a=t.data;if(i(a)){var s=i(t.componentInstance)&&a.keepAlive;if(i(a=a.hook)&&i(a=a.init)&&a(t,!1),i(t.componentInstance))return v(t,e),g(n,t.elm,r),o(s)&&y(t,e,n,r),!0}}function v(t,e){i(t.data.pendingInsert)&&(e.push.apply(e,t.data.pendingInsert),t.data.pendingInsert=null),t.elm=t.componentInstance.$el,b(t)?(w(t,e),C(t)):(Ai(t),e.push(t))}function y(t,e,n,r){var o,s=t;while(s.componentInstance)if(s=s.componentInstance._vnode,i(o=s.data)&&i(o=o.transition)){for(o=0;o<a.activate.length;++o)a.activate[o](Oi,s);e.push(s);break}g(n,t.elm,r)}function g(t,e,n){i(t)&&(i(n)?u.parentNode(n)===t&&u.insertBefore(t,e,n):u.appendChild(t,e))}function _(t,e,n){if(Array.isArray(e)){0;for(var r=0;r<e.length;++r)h(e[r],n,t.elm,null,!0,e,r)}else s(t.text)&&u.appendChild(t.elm,u.createTextNode(String(t.text)))}function b(t){while(t.componentInstance)t=t.componentInstance._vnode;return i(t.tag)}function w(t,n){for(var r=0;r<a.create.length;++r)a.create[r](Oi,t);e=t.data.hook,i(e)&&(i(e.create)&&e.create(Oi,t),i(e.insert)&&n.push(t))}function C(t){var e;if(i(e=t.fnScopeId))u.setStyleScope(t.elm,e);else{var n=t;while(n)i(e=n.context)&&i(e=e.$options._scopeId)&&u.setStyleScope(t.elm,e),n=n.parent}i(e=jn)&&e!==t.context&&e!==t.fnContext&&i(e=e.$options._scopeId)&&u.setStyleScope(t.elm,e)}function k(t,e,n,r,i,o){for(;r<=i;++r)h(n[r],o,t,e,!1,n,r)}function $(t){var e,n,r=t.data;if(i(r))for(i(e=r.hook)&&i(e=e.destroy)&&e(t),e=0;e<a.destroy.length;++e)a.destroy[e](t);if(i(e=t.children))for(n=0;n<t.children.length;++n)$(t.children[n])}function x(t,e,n){for(;e<=n;++e){var r=t[e];i(r)&&(i(r.tag)?(A(r),$(r)):p(r.elm))}}function A(t,e){if(i(e)||i(t.data)){var n,r=a.remove.length+1;for(i(e)?e.listeners+=r:e=f(t.elm,r),i(n=t.componentInstance)&&i(n=n._vnode)&&i(n.data)&&A(n,e),n=0;n<a.remove.length;++n)a.remove[n](t,e);i(n=t.data.hook)&&i(n=n.remove)?n(t,e):e()}else p(t.elm)}function O(t,e,n,o,a){var s,c,l,f,p=0,d=0,v=e.length-1,m=e[0],y=e[v],g=n.length-1,_=n[0],b=n[g],w=!a;while(p<=v&&d<=g)r(m)?m=e[++p]:r(y)?y=e[--v]:Ti(m,_)?(T(m,_,o,n,d),m=e[++p],_=n[++d]):Ti(y,b)?(T(y,b,o,n,g),y=e[--v],b=n[--g]):Ti(m,b)?(T(m,b,o,n,g),w&&u.insertBefore(t,m.elm,u.nextSibling(y.elm)),m=e[++p],b=n[--g]):Ti(y,_)?(T(y,_,o,n,d),w&&u.insertBefore(t,y.elm,m.elm),y=e[--v],_=n[++d]):(r(s)&&(s=ji(e,p,v)),c=i(_.key)?s[_.key]:S(_,e,p,v),r(c)?h(_,o,t,m.elm,!1,n,d):(l=e[c],Ti(l,_)?(T(l,_,o,n,d),e[c]=void 0,w&&u.insertBefore(t,l.elm,m.elm)):h(_,o,t,m.elm,!1,n,d)),_=n[++d]);p>v?(f=r(n[g+1])?null:n[g+1].elm,k(t,f,n,d,g,o)):d>g&&x(e,p,v)}function S(t,e,n,r){for(var o=n;o<r;o++){var a=e[o];if(i(a)&&Ti(t,a))return o}}function T(t,e,n,s,c,l){if(t!==e){i(e.elm)&&i(s)&&(e=s[c]=kt(e));var f=e.elm=t.elm;if(o(t.isAsyncPlaceholder))i(e.asyncFactory.resolved)?F(t.elm,e,n):e.isAsyncPlaceholder=!0;else if(o(e.isStatic)&&o(t.isStatic)&&e.key===t.key&&(o(e.isCloned)||o(e.isOnce)))e.componentInstance=t.componentInstance;else{var p,h=e.data;i(h)&&i(p=h.hook)&&i(p=p.prepatch)&&p(t,e);var d=t.children,v=e.children;if(i(h)&&b(e)){for(p=0;p<a.update.length;++p)a.update[p](t,e);i(p=h.hook)&&i(p=p.update)&&p(t,e)}r(e.text)?i(d)&&i(v)?d!==v&&O(f,d,v,n,l):i(v)?(i(t.text)&&u.setTextContent(f,""),k(f,null,v,0,v.length-1,n)):i(d)?x(d,0,d.length-1):i(t.text)&&u.setTextContent(f,""):t.text!==e.text&&u.setTextContent(f,e.text),i(h)&&i(p=h.hook)&&i(p=p.postpatch)&&p(t,e)}}}function E(t,e,n){if(o(n)&&i(t.parent))t.parent.data.pendingInsert=e;else for(var r=0;r<e.length;++r)e[r].data.hook.insert(e[r])}var j=m("attrs,class,staticClass,staticStyle,key");function F(t,e,n,r){var a,s=e.tag,c=e.data,u=e.children;if(r=r||c&&c.pre,e.elm=t,o(e.isComment)&&i(e.asyncFactory))return e.isAsyncPlaceholder=!0,!0;if(i(c)&&(i(a=c.hook)&&i(a=a.init)&&a(e,!0),i(a=e.componentInstance)))return v(e,n),!0;if(i(s)){if(i(u))if(t.hasChildNodes())if(i(a=c)&&i(a=a.domProps)&&i(a=a.innerHTML)){if(a!==t.innerHTML)return!1}else{for(var l=!0,f=t.firstChild,p=0;p<u.length;p++){if(!f||!F(f,u[p],n,r)){l=!1;break}f=f.nextSibling}if(!l||f)return!1}else _(e,u,n);if(i(c)){var h=!1;for(var d in c)if(!j(d)){h=!0,w(e,n);break}!h&&c["class"]&&ye(c["class"])}}else t.data!==e.text&&(t.data=e.text);return!0}return function(t,e,n,s){if(!r(e)){var c=!1,f=[];if(r(t))c=!0,h(e,f);else{var p=i(t.nodeType);if(!p&&Ti(t,e))T(t,e,f,null,null,s);else{if(p){if(1===t.nodeType&&t.hasAttribute(P)&&(t.removeAttribute(P),n=!0),o(n)&&F(t,e,f))return E(e,f,!0),t;t=l(t)}var d=t.elm,v=u.parentNode(d);if(h(e,f,d._leaveCb?null:v,u.nextSibling(d)),i(e.parent)){var m=e.parent,y=b(e);while(m){for(var g=0;g<a.destroy.length;++g)a.destroy[g](m);if(m.elm=e.elm,y){for(var _=0;_<a.create.length;++_)a.create[_](Oi,m);var w=m.data.hook.insert;if(w.merged)for(var C=1;C<w.fns.length;C++)w.fns[C]()}else Ai(m);m=m.parent}}i(v)?x([t],0,0):i(t.tag)&&$(t)}}return E(e,f,c),e.elm}i(t)&&$(t)}}var Ii={create:Li,update:Li,destroy:function(t){Li(t,Oi)}};function Li(t,e){(t.data.directives||e.data.directives)&&Mi(t,e)}function Mi(t,e){var n,r,i,o=t===Oi,a=e===Oi,s=Ri(t.data.directives,t.context),c=Ri(e.data.directives,e.context),u=[],l=[];for(n in c)r=s[n],i=c[n],r?(i.oldValue=r.value,i.oldArg=r.arg,Pi(i,"update",e,t),i.def&&i.def.componentUpdated&&l.push(i)):(Pi(i,"bind",e,t),i.def&&i.def.inserted&&u.push(i));if(u.length){var f=function(){for(var n=0;n<u.length;n++)Pi(u[n],"inserted",e,t)};o?Ce(e,"insert",f):f()}if(l.length&&Ce(e,"postpatch",(function(){for(var n=0;n<l.length;n++)Pi(l[n],"componentUpdated",e,t)})),!o)for(n in s)c[n]||Pi(s[n],"unbind",t,t,a)}var Di=Object.create(null);function Ri(t,e){var n,r,i=Object.create(null);if(!t)return i;for(n=0;n<t.length;n++)r=t[n],r.modifiers||(r.modifiers=Di),i[Ni(r)]=r,r.def=Gt(e.$options,"directives",r.name,!0);return i}function Ni(t){return t.rawName||t.name+"."+Object.keys(t.modifiers||{}).join(".")}function Pi(t,e,n,r,i){var o=t.def&&t.def[e];if(o)try{o(n.elm,t,n,r,i)}catch($a){ne($a,n.context,"directive "+t.name+" "+e+" hook")}}var Vi=[xi,Ii];function Wi(t,e){var n=e.componentOptions;if((!i(n)||!1!==n.Ctor.options.inheritAttrs)&&(!r(t.data.attrs)||!r(e.data.attrs))){var o,a,s,c=e.elm,u=t.data.attrs||{},l=e.data.attrs||{};for(o in i(l.__ob__)&&(l=e.data.attrs=j({},l)),l)a=l[o],s=u[o],s!==a&&Hi(c,o,a,e.data.pre);for(o in(tt||nt)&&l.value!==u.value&&Hi(c,"value",l.value),u)r(l[o])&&(Jr(o)?c.removeAttributeNS(qr,Kr(o)):Hr(o)||c.removeAttribute(o))}}function Hi(t,e,n,r){r||t.tagName.indexOf("-")>-1?Ui(t,e,n):zr(e)?Gr(n)?t.removeAttribute(e):(n="allowfullscreen"===e&&"EMBED"===t.tagName?"true":e,t.setAttribute(e,n)):Hr(e)?t.setAttribute(e,Br(e,n)):Jr(e)?Gr(n)?t.removeAttributeNS(qr,Kr(e)):t.setAttributeNS(qr,e,n):Ui(t,e,n)}function Ui(t,e,n){if(Gr(n))t.removeAttribute(e);else{if(tt&&!et&&"TEXTAREA"===t.tagName&&"placeholder"===e&&""!==n&&!t.__ieph){var r=function(e){e.stopImmediatePropagation(),t.removeEventListener("input",r)};t.addEventListener("input",r),t.__ieph=!0}t.setAttribute(e,n)}}var Bi={create:Wi,update:Wi};function zi(t,e){var n=e.elm,o=e.data,a=t.data;if(!(r(o.staticClass)&&r(o.class)&&(r(a)||r(a.staticClass)&&r(a.class)))){var s=Xr(e),c=n._transitionClasses;i(c)&&(s=Qr(s,ti(c))),s!==n._prevClass&&(n.setAttribute("class",s),n._prevClass=s)}}var qi,Ji={create:zi,update:zi},Ki="__r",Gi="__c";function Xi(t){if(i(t[Ki])){var e=tt?"change":"input";t[e]=[].concat(t[Ki],t[e]||[]),delete t[Ki]}i(t[Gi])&&(t.change=[].concat(t[Gi],t.change||[]),delete t[Gi])}function Zi(t,e,n){var r=qi;return function i(){var o=e.apply(null,arguments);null!==o&&to(t,i,n,r)}}var Yi=se&&!(it&&Number(it[1])<=53);function Qi(t,e,n,r){if(Yi){var i=Kn,o=e;e=o._wrapper=function(t){if(t.target===t.currentTarget||t.timeStamp>=i||t.timeStamp<=0||t.target.ownerDocument!==document)return o.apply(this,arguments)}}qi.addEventListener(t,e,at?{capture:n,passive:r}:n)}function to(t,e,n,r){(r||qi).removeEventListener(t,e._wrapper||e,n)}function eo(t,e){if(!r(t.data.on)||!r(e.data.on)){var n=e.data.on||{},i=t.data.on||{};qi=e.elm,Xi(n),we(n,i,Qi,to,Zi,e.context),qi=void 0}}var no,ro={create:eo,update:eo};function io(t,e){if(!r(t.data.domProps)||!r(e.data.domProps)){var n,o,a=e.elm,s=t.data.domProps||{},c=e.data.domProps||{};for(n in i(c.__ob__)&&(c=e.data.domProps=j({},c)),s)n in c||(a[n]="");for(n in c){if(o=c[n],"textContent"===n||"innerHTML"===n){if(e.children&&(e.children.length=0),o===s[n])continue;1===a.childNodes.length&&a.removeChild(a.childNodes[0])}if("value"===n&&"PROGRESS"!==a.tagName){a._value=o;var u=r(o)?"":String(o);oo(a,u)&&(a.value=u)}else if("innerHTML"===n&&oi(a.tagName)&&r(a.innerHTML)){no=no||document.createElement("div"),no.innerHTML="<svg>"+o+"</svg>";var l=no.firstChild;while(a.firstChild)a.removeChild(a.firstChild);while(l.firstChild)a.appendChild(l.firstChild)}else if(o!==s[n])try{a[n]=o}catch($a){}}}}function oo(t,e){return!t.composing&&("OPTION"===t.tagName||ao(t,e)||so(t,e))}function ao(t,e){var n=!0;try{n=document.activeElement!==t}catch($a){}return n&&t.value!==e}function so(t,e){var n=t.value,r=t._vModifiers;if(i(r)){if(r.number)return v(n)!==v(e);if(r.trim)return n.trim()!==e.trim()}return n!==e}var co={create:io,update:io},uo=w((function(t){var e={},n=/;(?![^(]*\))/g,r=/:(.+)/;return t.split(n).forEach((function(t){if(t){var n=t.split(r);n.length>1&&(e[n[0].trim()]=n[1].trim())}})),e}));function lo(t){var e=fo(t.style);return t.staticStyle?j(t.staticStyle,e):e}function fo(t){return Array.isArray(t)?F(t):"string"===typeof t?uo(t):t}function po(t,e){var n,r={};if(e){var i=t;while(i.componentInstance)i=i.componentInstance._vnode,i&&i.data&&(n=lo(i.data))&&j(r,n)}(n=lo(t.data))&&j(r,n);var o=t;while(o=o.parent)o.data&&(n=lo(o.data))&&j(r,n);return r}var ho,vo=/^--/,mo=/\s*!important$/,yo=function(t,e,n){if(vo.test(e))t.style.setProperty(e,n);else if(mo.test(n))t.style.setProperty(A(e),n.replace(mo,""),"important");else{var r=_o(e);if(Array.isArray(n))for(var i=0,o=n.length;i<o;i++)t.style[r]=n[i];else t.style[r]=n}},go=["Webkit","Moz","ms"],_o=w((function(t){if(ho=ho||document.createElement("div").style,t=k(t),"filter"!==t&&t in ho)return t;for(var e=t.charAt(0).toUpperCase()+t.slice(1),n=0;n<go.length;n++){var r=go[n]+e;if(r in ho)return r}}));function bo(t,e){var n=e.data,o=t.data;if(!(r(n.staticStyle)&&r(n.style)&&r(o.staticStyle)&&r(o.style))){var a,s,c=e.elm,u=o.staticStyle,l=o.normalizedStyle||o.style||{},f=u||l,p=fo(e.data.style)||{};e.data.normalizedStyle=i(p.__ob__)?j({},p):p;var h=po(e,!0);for(s in f)r(h[s])&&yo(c,s,"");for(s in h)a=h[s],a!==f[s]&&yo(c,s,null==a?"":a)}}var wo={create:bo,update:bo},Co=/\s+/;function ko(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.split(Co).forEach((function(e){return t.classList.add(e)})):t.classList.add(e);else{var n=" "+(t.getAttribute("class")||"")+" ";n.indexOf(" "+e+" ")<0&&t.setAttribute("class",(n+e).trim())}}function $o(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.split(Co).forEach((function(e){return t.classList.remove(e)})):t.classList.remove(e),t.classList.length||t.removeAttribute("class");else{var n=" "+(t.getAttribute("class")||"")+" ",r=" "+e+" ";while(n.indexOf(r)>=0)n=n.replace(r," ");n=n.trim(),n?t.setAttribute("class",n):t.removeAttribute("class")}}function xo(t){if(t){if("object"===typeof t){var e={};return!1!==t.css&&j(e,Ao(t.name||"v")),j(e,t),e}return"string"===typeof t?Ao(t):void 0}}var Ao=w((function(t){return{enterClass:t+"-enter",enterToClass:t+"-enter-to",enterActiveClass:t+"-enter-active",leaveClass:t+"-leave",leaveToClass:t+"-leave-to",leaveActiveClass:t+"-leave-active"}})),Oo=X&&!et,So="transition",To="animation",Eo="transition",jo="transitionend",Fo="animation",Io="animationend";Oo&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(Eo="WebkitTransition",jo="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(Fo="WebkitAnimation",Io="webkitAnimationEnd"));var Lo=X?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(t){return t()};function Mo(t){Lo((function(){Lo(t)}))}function Do(t,e){var n=t._transitionClasses||(t._transitionClasses=[]);n.indexOf(e)<0&&(n.push(e),ko(t,e))}function Ro(t,e){t._transitionClasses&&g(t._transitionClasses,e),$o(t,e)}function No(t,e,n){var r=Vo(t,e),i=r.type,o=r.timeout,a=r.propCount;if(!i)return n();var s=i===So?jo:Io,c=0,u=function(){t.removeEventListener(s,l),n()},l=function(e){e.target===t&&++c>=a&&u()};setTimeout((function(){c<a&&u()}),o+1),t.addEventListener(s,l)}var Po=/\b(transform|all)(,|$)/;function Vo(t,e){var n,r=window.getComputedStyle(t),i=(r[Eo+"Delay"]||"").split(", "),o=(r[Eo+"Duration"]||"").split(", "),a=Wo(i,o),s=(r[Fo+"Delay"]||"").split(", "),c=(r[Fo+"Duration"]||"").split(", "),u=Wo(s,c),l=0,f=0;e===So?a>0&&(n=So,l=a,f=o.length):e===To?u>0&&(n=To,l=u,f=c.length):(l=Math.max(a,u),n=l>0?a>u?So:To:null,f=n?n===So?o.length:c.length:0);var p=n===So&&Po.test(r[Eo+"Property"]);return{type:n,timeout:l,propCount:f,hasTransform:p}}function Wo(t,e){while(t.length<e.length)t=t.concat(t);return Math.max.apply(null,e.map((function(e,n){return Ho(e)+Ho(t[n])})))}function Ho(t){return 1e3*Number(t.slice(0,-1).replace(",","."))}function Uo(t,e){var n=t.elm;i(n._leaveCb)&&(n._leaveCb.cancelled=!0,n._leaveCb());var o=xo(t.data.transition);if(!r(o)&&!i(n._enterCb)&&1===n.nodeType){var a=o.css,s=o.type,u=o.enterClass,l=o.enterToClass,f=o.enterActiveClass,p=o.appearClass,h=o.appearToClass,d=o.appearActiveClass,m=o.beforeEnter,y=o.enter,g=o.afterEnter,_=o.enterCancelled,b=o.beforeAppear,w=o.appear,C=o.afterAppear,k=o.appearCancelled,$=o.duration,x=jn,A=jn.$vnode;while(A&&A.parent)x=A.context,A=A.parent;var O=!x._isMounted||!t.isRootInsert;if(!O||w||""===w){var S=O&&p?p:u,T=O&&d?d:f,E=O&&h?h:l,j=O&&b||m,F=O&&"function"===typeof w?w:y,I=O&&C||g,L=O&&k||_,M=v(c($)?$.enter:$);0;var D=!1!==a&&!et,R=qo(F),P=n._enterCb=N((function(){D&&(Ro(n,E),Ro(n,T)),P.cancelled?(D&&Ro(n,S),L&&L(n)):I&&I(n),n._enterCb=null}));t.data.show||Ce(t,"insert",(function(){var e=n.parentNode,r=e&&e._pending&&e._pending[t.key];r&&r.tag===t.tag&&r.elm._leaveCb&&r.elm._leaveCb(),F&&F(n,P)})),j&&j(n),D&&(Do(n,S),Do(n,T),Mo((function(){Ro(n,S),P.cancelled||(Do(n,E),R||(zo(M)?setTimeout(P,M):No(n,s,P)))}))),t.data.show&&(e&&e(),F&&F(n,P)),D||R||P()}}}function Bo(t,e){var n=t.elm;i(n._enterCb)&&(n._enterCb.cancelled=!0,n._enterCb());var o=xo(t.data.transition);if(r(o)||1!==n.nodeType)return e();if(!i(n._leaveCb)){var a=o.css,s=o.type,u=o.leaveClass,l=o.leaveToClass,f=o.leaveActiveClass,p=o.beforeLeave,h=o.leave,d=o.afterLeave,m=o.leaveCancelled,y=o.delayLeave,g=o.duration,_=!1!==a&&!et,b=qo(h),w=v(c(g)?g.leave:g);0;var C=n._leaveCb=N((function(){n.parentNode&&n.parentNode._pending&&(n.parentNode._pending[t.key]=null),_&&(Ro(n,l),Ro(n,f)),C.cancelled?(_&&Ro(n,u),m&&m(n)):(e(),d&&d(n)),n._leaveCb=null}));y?y(k):k()}function k(){C.cancelled||(!t.data.show&&n.parentNode&&((n.parentNode._pending||(n.parentNode._pending={}))[t.key]=t),p&&p(n),_&&(Do(n,u),Do(n,f),Mo((function(){Ro(n,u),C.cancelled||(Do(n,l),b||(zo(w)?setTimeout(C,w):No(n,s,C)))}))),h&&h(n,C),_||b||C())}}function zo(t){return"number"===typeof t&&!isNaN(t)}function qo(t){if(r(t))return!1;var e=t.fns;return i(e)?qo(Array.isArray(e)?e[0]:e):(t._length||t.length)>1}function Jo(t,e){!0!==e.data.show&&Uo(e)}var Ko=X?{create:Jo,activate:Jo,remove:function(t,e){!0!==t.data.show?Bo(t,e):e()}}:{},Go=[Bi,Ji,ro,co,wo,Ko],Xo=Go.concat(Vi),Zo=Fi({nodeOps:$i,modules:Xo});et&&document.addEventListener("selectionchange",(function(){var t=document.activeElement;t&&t.vmodel&&oa(t,"input")}));var Yo={inserted:function(t,e,n,r){"select"===n.tag?(r.elm&&!r.elm._vOptions?Ce(n,"postpatch",(function(){Yo.componentUpdated(t,e,n)})):Qo(t,e,n.context),t._vOptions=[].map.call(t.options,na)):("textarea"===n.tag||li(t.type))&&(t._vModifiers=e.modifiers,e.modifiers.lazy||(t.addEventListener("compositionstart",ra),t.addEventListener("compositionend",ia),t.addEventListener("change",ia),et&&(t.vmodel=!0)))},componentUpdated:function(t,e,n){if("select"===n.tag){Qo(t,e,n.context);var r=t._vOptions,i=t._vOptions=[].map.call(t.options,na);if(i.some((function(t,e){return!D(t,r[e])}))){var o=t.multiple?e.value.some((function(t){return ea(t,i)})):e.value!==e.oldValue&&ea(e.value,i);o&&oa(t,"change")}}}};function Qo(t,e,n){ta(t,e,n),(tt||nt)&&setTimeout((function(){ta(t,e,n)}),0)}function ta(t,e,n){var r=e.value,i=t.multiple;if(!i||Array.isArray(r)){for(var o,a,s=0,c=t.options.length;s<c;s++)if(a=t.options[s],i)o=R(r,na(a))>-1,a.selected!==o&&(a.selected=o);else if(D(na(a),r))return void(t.selectedIndex!==s&&(t.selectedIndex=s));i||(t.selectedIndex=-1)}}function ea(t,e){return e.every((function(e){return!D(e,t)}))}function na(t){return"_value"in t?t._value:t.value}function ra(t){t.target.composing=!0}function ia(t){t.target.composing&&(t.target.composing=!1,oa(t.target,"input"))}function oa(t,e){var n=document.createEvent("HTMLEvents");n.initEvent(e,!0,!0),t.dispatchEvent(n)}function aa(t){return!t.componentInstance||t.data&&t.data.transition?t:aa(t.componentInstance._vnode)}var sa={bind:function(t,e,n){var r=e.value;n=aa(n);var i=n.data&&n.data.transition,o=t.__vOriginalDisplay="none"===t.style.display?"":t.style.display;r&&i?(n.data.show=!0,Uo(n,(function(){t.style.display=o}))):t.style.display=r?o:"none"},update:function(t,e,n){var r=e.value,i=e.oldValue;if(!r!==!i){n=aa(n);var o=n.data&&n.data.transition;o?(n.data.show=!0,r?Uo(n,(function(){t.style.display=t.__vOriginalDisplay})):Bo(n,(function(){t.style.display="none"}))):t.style.display=r?t.__vOriginalDisplay:"none"}},unbind:function(t,e,n,r,i){i||(t.style.display=t.__vOriginalDisplay)}},ca={model:Yo,show:sa},ua={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function la(t){var e=t&&t.componentOptions;return e&&e.Ctor.options.abstract?la($n(e.children)):t}function fa(t){var e={},n=t.$options;for(var r in n.propsData)e[r]=t[r];var i=n._parentListeners;for(var o in i)e[k(o)]=i[o];return e}function pa(t,e){if(/\d-keep-alive$/.test(e.tag))return t("keep-alive",{props:e.componentOptions.propsData})}function ha(t){while(t=t.parent)if(t.data.transition)return!0}function da(t,e){return e.key===t.key&&e.tag===t.tag}var va=function(t){return t.tag||Le(t)},ma=function(t){return"show"===t.name},ya={name:"transition",props:ua,abstract:!0,render:function(t){var e=this,n=this.$slots.default;if(n&&(n=n.filter(va),n.length)){0;var r=this.mode;0;var i=n[0];if(ha(this.$vnode))return i;var o=la(i);if(!o)return i;if(this._leaving)return pa(t,i);var a="__transition-"+this._uid+"-";o.key=null==o.key?o.isComment?a+"comment":a+o.tag:s(o.key)?0===String(o.key).indexOf(a)?o.key:a+o.key:o.key;var c=(o.data||(o.data={})).transition=fa(this),u=this._vnode,l=la(u);if(o.data.directives&&o.data.directives.some(ma)&&(o.data.show=!0),l&&l.data&&!da(o,l)&&!Le(l)&&(!l.componentInstance||!l.componentInstance._vnode.isComment)){var f=l.data.transition=j({},c);if("out-in"===r)return this._leaving=!0,Ce(f,"afterLeave",(function(){e._leaving=!1,e.$forceUpdate()})),pa(t,i);if("in-out"===r){if(Le(o))return u;var p,h=function(){p()};Ce(c,"afterEnter",h),Ce(c,"enterCancelled",h),Ce(f,"delayLeave",(function(t){p=t}))}}return i}}},ga=j({tag:String,moveClass:String},ua);delete ga.mode;var _a={props:ga,beforeMount:function(){var t=this,e=this._update;this._update=function(n,r){var i=Fn(t);t.__patch__(t._vnode,t.kept,!1,!0),t._vnode=t.kept,i(),e.call(t,n,r)}},render:function(t){for(var e=this.tag||this.$vnode.data.tag||"span",n=Object.create(null),r=this.prevChildren=this.children,i=this.$slots.default||[],o=this.children=[],a=fa(this),s=0;s<i.length;s++){var c=i[s];if(c.tag)if(null!=c.key&&0!==String(c.key).indexOf("__vlist"))o.push(c),n[c.key]=c,(c.data||(c.data={})).transition=a;else;}if(r){for(var u=[],l=[],f=0;f<r.length;f++){var p=r[f];p.data.transition=a,p.data.pos=p.elm.getBoundingClientRect(),n[p.key]?u.push(p):l.push(p)}this.kept=t(e,null,u),this.removed=l}return t(e,null,o)},updated:function(){var t=this.prevChildren,e=this.moveClass||(this.name||"v")+"-move";t.length&&this.hasMove(t[0].elm,e)&&(t.forEach(ba),t.forEach(wa),t.forEach(Ca),this._reflow=document.body.offsetHeight,t.forEach((function(t){if(t.data.moved){var n=t.elm,r=n.style;Do(n,e),r.transform=r.WebkitTransform=r.transitionDuration="",n.addEventListener(jo,n._moveCb=function t(r){r&&r.target!==n||r&&!/transform$/.test(r.propertyName)||(n.removeEventListener(jo,t),n._moveCb=null,Ro(n,e))})}})))},methods:{hasMove:function(t,e){if(!Oo)return!1;if(this._hasMove)return this._hasMove;var n=t.cloneNode();t._transitionClasses&&t._transitionClasses.forEach((function(t){$o(n,t)})),ko(n,e),n.style.display="none",this.$el.appendChild(n);var r=Vo(n);return this.$el.removeChild(n),this._hasMove=r.hasTransform}}};function ba(t){t.elm._moveCb&&t.elm._moveCb(),t.elm._enterCb&&t.elm._enterCb()}function wa(t){t.data.newPos=t.elm.getBoundingClientRect()}function Ca(t){var e=t.data.pos,n=t.data.newPos,r=e.left-n.left,i=e.top-n.top;if(r||i){t.data.moved=!0;var o=t.elm.style;o.transform=o.WebkitTransform="translate("+r+"px,"+i+"px)",o.transitionDuration="0s"}}var ka={Transition:ya,TransitionGroup:_a};$r.config.mustUseProp=Wr,$r.config.isReservedTag=ai,$r.config.isReservedAttr=Pr,$r.config.getTagNamespace=si,$r.config.isUnknownElement=ui,j($r.options.directives,ca),j($r.options.components,ka),$r.prototype.__patch__=X?Zo:I,$r.prototype.$mount=function(t,e){return t=t&&X?fi(t):void 0,Mn(this,t,e)},X&&setTimeout((function(){H.devtools&&ut&&ut.emit("init",$r)}),0),e["default"]=$r}.call(this,n("c8ba"))},"8c4f":function(t,e,n){"use strict";
+/*!
+ * vue-router v3.5.2
+ * (c) 2021 Evan You
+ * @license MIT
+ */function r(t,e){0}function i(t,e){for(var n in e)t[n]=e[n];return t}var o=/[!'()*]/g,a=function(t){return"%"+t.charCodeAt(0).toString(16)},s=/%2C/g,c=function(t){return encodeURIComponent(t).replace(o,a).replace(s,",")};function u(t){try{return decodeURIComponent(t)}catch(e){0}return t}function l(t,e,n){void 0===e&&(e={});var r,i=n||p;try{r=i(t||"")}catch(s){r={}}for(var o in e){var a=e[o];r[o]=Array.isArray(a)?a.map(f):f(a)}return r}var f=function(t){return null==t||"object"===typeof t?t:String(t)};function p(t){var e={};return t=t.trim().replace(/^(\?|#|&)/,""),t?(t.split("&").forEach((function(t){var n=t.replace(/\+/g," ").split("="),r=u(n.shift()),i=n.length>0?u(n.join("=")):null;void 0===e[r]?e[r]=i:Array.isArray(e[r])?e[r].push(i):e[r]=[e[r],i]})),e):e}function h(t){var e=t?Object.keys(t).map((function(e){var n=t[e];if(void 0===n)return"";if(null===n)return c(e);if(Array.isArray(n)){var r=[];return n.forEach((function(t){void 0!==t&&(null===t?r.push(c(e)):r.push(c(e)+"="+c(t)))})),r.join("&")}return c(e)+"="+c(n)})).filter((function(t){return t.length>0})).join("&"):null;return e?"?"+e:""}var d=/\/?$/;function v(t,e,n,r){var i=r&&r.options.stringifyQuery,o=e.query||{};try{o=m(o)}catch(s){}var a={name:e.name||t&&t.name,meta:t&&t.meta||{},path:e.path||"/",hash:e.hash||"",query:o,params:e.params||{},fullPath:_(e,i),matched:t?g(t):[]};return n&&(a.redirectedFrom=_(n,i)),Object.freeze(a)}function m(t){if(Array.isArray(t))return t.map(m);if(t&&"object"===typeof t){var e={};for(var n in t)e[n]=m(t[n]);return e}return t}var y=v(null,{path:"/"});function g(t){var e=[];while(t)e.unshift(t),t=t.parent;return e}function _(t,e){var n=t.path,r=t.query;void 0===r&&(r={});var i=t.hash;void 0===i&&(i="");var o=e||h;return(n||"/")+o(r)+i}function b(t,e,n){return e===y?t===e:!!e&&(t.path&&e.path?t.path.replace(d,"")===e.path.replace(d,"")&&(n||t.hash===e.hash&&w(t.query,e.query)):!(!t.name||!e.name)&&(t.name===e.name&&(n||t.hash===e.hash&&w(t.query,e.query)&&w(t.params,e.params))))}function w(t,e){if(void 0===t&&(t={}),void 0===e&&(e={}),!t||!e)return t===e;var n=Object.keys(t).sort(),r=Object.keys(e).sort();return n.length===r.length&&n.every((function(n,i){var o=t[n],a=r[i];if(a!==n)return!1;var s=e[n];return null==o||null==s?o===s:"object"===typeof o&&"object"===typeof s?w(o,s):String(o)===String(s)}))}function C(t,e){return 0===t.path.replace(d,"/").indexOf(e.path.replace(d,"/"))&&(!e.hash||t.hash===e.hash)&&k(t.query,e.query)}function k(t,e){for(var n in e)if(!(n in t))return!1;return!0}function $(t){for(var e=0;e<t.matched.length;e++){var n=t.matched[e];for(var r in n.instances){var i=n.instances[r],o=n.enteredCbs[r];if(i&&o){delete n.enteredCbs[r];for(var a=0;a<o.length;a++)i._isBeingDestroyed||o[a](i)}}}}var x={name:"RouterView",functional:!0,props:{name:{type:String,default:"default"}},render:function(t,e){var n=e.props,r=e.children,o=e.parent,a=e.data;a.routerView=!0;var s=o.$createElement,c=n.name,u=o.$route,l=o._routerViewCache||(o._routerViewCache={}),f=0,p=!1;while(o&&o._routerRoot!==o){var h=o.$vnode?o.$vnode.data:{};h.routerView&&f++,h.keepAlive&&o._directInactive&&o._inactive&&(p=!0),o=o.$parent}if(a.routerViewDepth=f,p){var d=l[c],v=d&&d.component;return v?(d.configProps&&A(v,a,d.route,d.configProps),s(v,a,r)):s()}var m=u.matched[f],y=m&&m.components[c];if(!m||!y)return l[c]=null,s();l[c]={component:y},a.registerRouteInstance=function(t,e){var n=m.instances[c];(e&&n!==t||!e&&n===t)&&(m.instances[c]=e)},(a.hook||(a.hook={})).prepatch=function(t,e){m.instances[c]=e.componentInstance},a.hook.init=function(t){t.data.keepAlive&&t.componentInstance&&t.componentInstance!==m.instances[c]&&(m.instances[c]=t.componentInstance),$(u)};var g=m.props&&m.props[c];return g&&(i(l[c],{route:u,configProps:g}),A(y,a,u,g)),s(y,a,r)}};function A(t,e,n,r){var o=e.props=O(n,r);if(o){o=e.props=i({},o);var a=e.attrs=e.attrs||{};for(var s in o)t.props&&s in t.props||(a[s]=o[s],delete o[s])}}function O(t,e){switch(typeof e){case"undefined":return;case"object":return e;case"function":return e(t);case"boolean":return e?t.params:void 0;default:0}}function S(t,e,n){var r=t.charAt(0);if("/"===r)return t;if("?"===r||"#"===r)return e+t;var i=e.split("/");n&&i[i.length-1]||i.pop();for(var o=t.replace(/^\//,"").split("/"),a=0;a<o.length;a++){var s=o[a];".."===s?i.pop():"."!==s&&i.push(s)}return""!==i[0]&&i.unshift(""),i.join("/")}function T(t){var e="",n="",r=t.indexOf("#");r>=0&&(e=t.slice(r),t=t.slice(0,r));var i=t.indexOf("?");return i>=0&&(n=t.slice(i+1),t=t.slice(0,i)),{path:t,query:n,hash:e}}function E(t){return t.replace(/\/\//g,"/")}var j=Array.isArray||function(t){return"[object Array]"==Object.prototype.toString.call(t)},F=Z,I=N,L=P,M=H,D=X,R=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function N(t,e){var n,r=[],i=0,o=0,a="",s=e&&e.delimiter||"/";while(null!=(n=R.exec(t))){var c=n[0],u=n[1],l=n.index;if(a+=t.slice(o,l),o=l+c.length,u)a+=u[1];else{var f=t[o],p=n[2],h=n[3],d=n[4],v=n[5],m=n[6],y=n[7];a&&(r.push(a),a="");var g=null!=p&&null!=f&&f!==p,_="+"===m||"*"===m,b="?"===m||"*"===m,w=n[2]||s,C=d||v;r.push({name:h||i++,prefix:p||"",delimiter:w,optional:b,repeat:_,partial:g,asterisk:!!y,pattern:C?B(C):y?".*":"[^"+U(w)+"]+?"})}}return o<t.length&&(a+=t.substr(o)),a&&r.push(a),r}function P(t,e){return H(N(t,e),e)}function V(t){return encodeURI(t).replace(/[\/?#]/g,(function(t){return"%"+t.charCodeAt(0).toString(16).toUpperCase()}))}function W(t){return encodeURI(t).replace(/[?#]/g,(function(t){return"%"+t.charCodeAt(0).toString(16).toUpperCase()}))}function H(t,e){for(var n=new Array(t.length),r=0;r<t.length;r++)"object"===typeof t[r]&&(n[r]=new RegExp("^(?:"+t[r].pattern+")$",q(e)));return function(e,r){for(var i="",o=e||{},a=r||{},s=a.pretty?V:encodeURIComponent,c=0;c<t.length;c++){var u=t[c];if("string"!==typeof u){var l,f=o[u.name];if(null==f){if(u.optional){u.partial&&(i+=u.prefix);continue}throw new TypeError('Expected "'+u.name+'" to be defined')}if(j(f)){if(!u.repeat)throw new TypeError('Expected "'+u.name+'" to not repeat, but received `'+JSON.stringify(f)+"`");if(0===f.length){if(u.optional)continue;throw new TypeError('Expected "'+u.name+'" to not be empty')}for(var p=0;p<f.length;p++){if(l=s(f[p]),!n[c].test(l))throw new TypeError('Expected all "'+u.name+'" to match "'+u.pattern+'", but received `'+JSON.stringify(l)+"`");i+=(0===p?u.prefix:u.delimiter)+l}}else{if(l=u.asterisk?W(f):s(f),!n[c].test(l))throw new TypeError('Expected "'+u.name+'" to match "'+u.pattern+'", but received "'+l+'"');i+=u.prefix+l}}else i+=u}return i}}function U(t){return t.replace(/([.+*?=^!:${}()[\]|\/\\])/g,"\\$1")}function B(t){return t.replace(/([=!:$\/()])/g,"\\$1")}function z(t,e){return t.keys=e,t}function q(t){return t&&t.sensitive?"":"i"}function J(t,e){var n=t.source.match(/\((?!\?)/g);if(n)for(var r=0;r<n.length;r++)e.push({name:r,prefix:null,delimiter:null,optional:!1,repeat:!1,partial:!1,asterisk:!1,pattern:null});return z(t,e)}function K(t,e,n){for(var r=[],i=0;i<t.length;i++)r.push(Z(t[i],e,n).source);var o=new RegExp("(?:"+r.join("|")+")",q(n));return z(o,e)}function G(t,e,n){return X(N(t,n),e,n)}function X(t,e,n){j(e)||(n=e||n,e=[]),n=n||{};for(var r=n.strict,i=!1!==n.end,o="",a=0;a<t.length;a++){var s=t[a];if("string"===typeof s)o+=U(s);else{var c=U(s.prefix),u="(?:"+s.pattern+")";e.push(s),s.repeat&&(u+="(?:"+c+u+")*"),u=s.optional?s.partial?c+"("+u+")?":"(?:"+c+"("+u+"))?":c+"("+u+")",o+=u}}var l=U(n.delimiter||"/"),f=o.slice(-l.length)===l;return r||(o=(f?o.slice(0,-l.length):o)+"(?:"+l+"(?=$))?"),o+=i?"$":r&&f?"":"(?="+l+"|$)",z(new RegExp("^"+o,q(n)),e)}function Z(t,e,n){return j(e)||(n=e||n,e=[]),n=n||{},t instanceof RegExp?J(t,e):j(t)?K(t,e,n):G(t,e,n)}F.parse=I,F.compile=L,F.tokensToFunction=M,F.tokensToRegExp=D;var Y=Object.create(null);function Q(t,e,n){e=e||{};try{var r=Y[t]||(Y[t]=F.compile(t));return"string"===typeof e.pathMatch&&(e[0]=e.pathMatch),r(e,{pretty:!0})}catch(i){return""}finally{delete e[0]}}function tt(t,e,n,r){var o="string"===typeof t?{path:t}:t;if(o._normalized)return o;if(o.name){o=i({},t);var a=o.params;return a&&"object"===typeof a&&(o.params=i({},a)),o}if(!o.path&&o.params&&e){o=i({},o),o._normalized=!0;var s=i(i({},e.params),o.params);if(e.name)o.name=e.name,o.params=s;else if(e.matched.length){var c=e.matched[e.matched.length-1].path;o.path=Q(c,s,"path "+e.path)}else 0;return o}var u=T(o.path||""),f=e&&e.path||"/",p=u.path?S(u.path,f,n||o.append):f,h=l(u.query,o.query,r&&r.options.parseQuery),d=o.hash||u.hash;return d&&"#"!==d.charAt(0)&&(d="#"+d),{_normalized:!0,path:p,query:h,hash:d}}var et,nt=[String,Object],rt=[String,Array],it=function(){},ot={name:"RouterLink",props:{to:{type:nt,required:!0},tag:{type:String,default:"a"},custom:Boolean,exact:Boolean,exactPath:Boolean,append:Boolean,replace:Boolean,activeClass:String,exactActiveClass:String,ariaCurrentValue:{type:String,default:"page"},event:{type:rt,default:"click"}},render:function(t){var e=this,n=this.$router,r=this.$route,o=n.resolve(this.to,r,this.append),a=o.location,s=o.route,c=o.href,u={},l=n.options.linkActiveClass,f=n.options.linkExactActiveClass,p=null==l?"router-link-active":l,h=null==f?"router-link-exact-active":f,d=null==this.activeClass?p:this.activeClass,m=null==this.exactActiveClass?h:this.exactActiveClass,y=s.redirectedFrom?v(null,tt(s.redirectedFrom),null,n):s;u[m]=b(r,y,this.exactPath),u[d]=this.exact||this.exactPath?u[m]:C(r,y);var g=u[m]?this.ariaCurrentValue:null,_=function(t){at(t)&&(e.replace?n.replace(a,it):n.push(a,it))},w={click:at};Array.isArray(this.event)?this.event.forEach((function(t){w[t]=_})):w[this.event]=_;var k={class:u},$=!this.$scopedSlots.$hasNormal&&this.$scopedSlots.default&&this.$scopedSlots.default({href:c,route:s,navigate:_,isActive:u[d],isExactActive:u[m]});if($){if(1===$.length)return $[0];if($.length>1||!$.length)return 0===$.length?t():t("span",{},$)}if("a"===this.tag)k.on=w,k.attrs={href:c,"aria-current":g};else{var x=st(this.$slots.default);if(x){x.isStatic=!1;var A=x.data=i({},x.data);for(var O in A.on=A.on||{},A.on){var S=A.on[O];O in w&&(A.on[O]=Array.isArray(S)?S:[S])}for(var T in w)T in A.on?A.on[T].push(w[T]):A.on[T]=_;var E=x.data.attrs=i({},x.data.attrs);E.href=c,E["aria-current"]=g}else k.on=w}return t(this.tag,k,this.$slots.default)}};function at(t){if(!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)&&!t.defaultPrevented&&(void 0===t.button||0===t.button)){if(t.currentTarget&&t.currentTarget.getAttribute){var e=t.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(e))return}return t.preventDefault&&t.preventDefault(),!0}}function st(t){if(t)for(var e,n=0;n<t.length;n++){if(e=t[n],"a"===e.tag)return e;if(e.children&&(e=st(e.children)))return e}}function ct(t){if(!ct.installed||et!==t){ct.installed=!0,et=t;var e=function(t){return void 0!==t},n=function(t,n){var r=t.$options._parentVnode;e(r)&&e(r=r.data)&&e(r=r.registerRouteInstance)&&r(t,n)};t.mixin({beforeCreate:function(){e(this.$options.router)?(this._routerRoot=this,this._router=this.$options.router,this._router.init(this),t.util.defineReactive(this,"_route",this._router.history.current)):this._routerRoot=this.$parent&&this.$parent._routerRoot||this,n(this,this)},destroyed:function(){n(this)}}),Object.defineProperty(t.prototype,"$router",{get:function(){return this._routerRoot._router}}),Object.defineProperty(t.prototype,"$route",{get:function(){return this._routerRoot._route}}),t.component("RouterView",x),t.component("RouterLink",ot);var r=t.config.optionMergeStrategies;r.beforeRouteEnter=r.beforeRouteLeave=r.beforeRouteUpdate=r.created}}var ut="undefined"!==typeof window;function lt(t,e,n,r,i){var o=e||[],a=n||Object.create(null),s=r||Object.create(null);t.forEach((function(t){ft(o,a,s,t,i)}));for(var c=0,u=o.length;c<u;c++)"*"===o[c]&&(o.push(o.splice(c,1)[0]),u--,c--);return{pathList:o,pathMap:a,nameMap:s}}function ft(t,e,n,r,i,o){var a=r.path,s=r.name;var c=r.pathToRegexpOptions||{},u=ht(a,i,c.strict);"boolean"===typeof r.caseSensitive&&(c.sensitive=r.caseSensitive);var l={path:u,regex:pt(u,c),components:r.components||{default:r.component},alias:r.alias?"string"===typeof r.alias?[r.alias]:r.alias:[],instances:{},enteredCbs:{},name:s,parent:i,matchAs:o,redirect:r.redirect,beforeEnter:r.beforeEnter,meta:r.meta||{},props:null==r.props?{}:r.components?r.props:{default:r.props}};if(r.children&&r.children.forEach((function(r){var i=o?E(o+"/"+r.path):void 0;ft(t,e,n,r,l,i)})),e[l.path]||(t.push(l.path),e[l.path]=l),void 0!==r.alias)for(var f=Array.isArray(r.alias)?r.alias:[r.alias],p=0;p<f.length;++p){var h=f[p];0;var d={path:h,children:r.children};ft(t,e,n,d,i,l.path||"/")}s&&(n[s]||(n[s]=l))}function pt(t,e){var n=F(t,[],e);return n}function ht(t,e,n){return n||(t=t.replace(/\/$/,"")),"/"===t[0]||null==e?t:E(e.path+"/"+t)}function dt(t,e){var n=lt(t),r=n.pathList,i=n.pathMap,o=n.nameMap;function a(t){lt(t,r,i,o)}function s(t,e){var n="object"!==typeof t?o[t]:void 0;lt([e||t],r,i,o,n),n&&n.alias.length&<(n.alias.map((function(t){return{path:t,children:[e]}})),r,i,o,n)}function c(){return r.map((function(t){return i[t]}))}function u(t,n,a){var s=tt(t,n,!1,e),c=s.name;if(c){var u=o[c];if(!u)return p(null,s);var l=u.regex.keys.filter((function(t){return!t.optional})).map((function(t){return t.name}));if("object"!==typeof s.params&&(s.params={}),n&&"object"===typeof n.params)for(var f in n.params)!(f in s.params)&&l.indexOf(f)>-1&&(s.params[f]=n.params[f]);return s.path=Q(u.path,s.params,'named route "'+c+'"'),p(u,s,a)}if(s.path){s.params={};for(var h=0;h<r.length;h++){var d=r[h],v=i[d];if(vt(v.regex,s.path,s.params))return p(v,s,a)}}return p(null,s)}function l(t,n){var r=t.redirect,i="function"===typeof r?r(v(t,n,null,e)):r;if("string"===typeof i&&(i={path:i}),!i||"object"!==typeof i)return p(null,n);var a=i,s=a.name,c=a.path,l=n.query,f=n.hash,h=n.params;if(l=a.hasOwnProperty("query")?a.query:l,f=a.hasOwnProperty("hash")?a.hash:f,h=a.hasOwnProperty("params")?a.params:h,s){o[s];return u({_normalized:!0,name:s,query:l,hash:f,params:h},void 0,n)}if(c){var d=mt(c,t),m=Q(d,h,'redirect route with path "'+d+'"');return u({_normalized:!0,path:m,query:l,hash:f},void 0,n)}return p(null,n)}function f(t,e,n){var r=Q(n,e.params,'aliased route with path "'+n+'"'),i=u({_normalized:!0,path:r});if(i){var o=i.matched,a=o[o.length-1];return e.params=i.params,p(a,e)}return p(null,e)}function p(t,n,r){return t&&t.redirect?l(t,r||n):t&&t.matchAs?f(t,n,t.matchAs):v(t,n,r,e)}return{match:u,addRoute:s,getRoutes:c,addRoutes:a}}function vt(t,e,n){var r=e.match(t);if(!r)return!1;if(!n)return!0;for(var i=1,o=r.length;i<o;++i){var a=t.keys[i-1];a&&(n[a.name||"pathMatch"]="string"===typeof r[i]?u(r[i]):r[i])}return!0}function mt(t,e){return S(t,e.parent?e.parent.path:"/",!0)}var yt=ut&&window.performance&&window.performance.now?window.performance:Date;function gt(){return yt.now().toFixed(3)}var _t=gt();function bt(){return _t}function wt(t){return _t=t}var Ct=Object.create(null);function kt(){"scrollRestoration"in window.history&&(window.history.scrollRestoration="manual");var t=window.location.protocol+"//"+window.location.host,e=window.location.href.replace(t,""),n=i({},window.history.state);return n.key=bt(),window.history.replaceState(n,"",e),window.addEventListener("popstate",At),function(){window.removeEventListener("popstate",At)}}function $t(t,e,n,r){if(t.app){var i=t.options.scrollBehavior;i&&t.app.$nextTick((function(){var o=Ot(),a=i.call(t,e,n,r?o:null);a&&("function"===typeof a.then?a.then((function(t){Lt(t,o)})).catch((function(t){0})):Lt(a,o))}))}}function xt(){var t=bt();t&&(Ct[t]={x:window.pageXOffset,y:window.pageYOffset})}function At(t){xt(),t.state&&t.state.key&&wt(t.state.key)}function Ot(){var t=bt();if(t)return Ct[t]}function St(t,e){var n=document.documentElement,r=n.getBoundingClientRect(),i=t.getBoundingClientRect();return{x:i.left-r.left-e.x,y:i.top-r.top-e.y}}function Tt(t){return Ft(t.x)||Ft(t.y)}function Et(t){return{x:Ft(t.x)?t.x:window.pageXOffset,y:Ft(t.y)?t.y:window.pageYOffset}}function jt(t){return{x:Ft(t.x)?t.x:0,y:Ft(t.y)?t.y:0}}function Ft(t){return"number"===typeof t}var It=/^#\d/;function Lt(t,e){var n="object"===typeof t;if(n&&"string"===typeof t.selector){var r=It.test(t.selector)?document.getElementById(t.selector.slice(1)):document.querySelector(t.selector);if(r){var i=t.offset&&"object"===typeof t.offset?t.offset:{};i=jt(i),e=St(r,i)}else Tt(t)&&(e=Et(t))}else n&&Tt(t)&&(e=Et(t));e&&("scrollBehavior"in document.documentElement.style?window.scrollTo({left:e.x,top:e.y,behavior:t.behavior}):window.scrollTo(e.x,e.y))}var Mt=ut&&function(){var t=window.navigator.userAgent;return(-1===t.indexOf("Android 2.")&&-1===t.indexOf("Android 4.0")||-1===t.indexOf("Mobile Safari")||-1!==t.indexOf("Chrome")||-1!==t.indexOf("Windows Phone"))&&(window.history&&"function"===typeof window.history.pushState)}();function Dt(t,e){xt();var n=window.history;try{if(e){var r=i({},n.state);r.key=bt(),n.replaceState(r,"",t)}else n.pushState({key:wt(gt())},"",t)}catch(o){window.location[e?"replace":"assign"](t)}}function Rt(t){Dt(t,!0)}function Nt(t,e,n){var r=function(i){i>=t.length?n():t[i]?e(t[i],(function(){r(i+1)})):r(i+1)};r(0)}var Pt={redirected:2,aborted:4,cancelled:8,duplicated:16};function Vt(t,e){return Bt(t,e,Pt.redirected,'Redirected when going from "'+t.fullPath+'" to "'+qt(e)+'" via a navigation guard.')}function Wt(t,e){var n=Bt(t,e,Pt.duplicated,'Avoided redundant navigation to current location: "'+t.fullPath+'".');return n.name="NavigationDuplicated",n}function Ht(t,e){return Bt(t,e,Pt.cancelled,'Navigation cancelled from "'+t.fullPath+'" to "'+e.fullPath+'" with a new navigation.')}function Ut(t,e){return Bt(t,e,Pt.aborted,'Navigation aborted from "'+t.fullPath+'" to "'+e.fullPath+'" via a navigation guard.')}function Bt(t,e,n,r){var i=new Error(r);return i._isRouter=!0,i.from=t,i.to=e,i.type=n,i}var zt=["params","query","hash"];function qt(t){if("string"===typeof t)return t;if("path"in t)return t.path;var e={};return zt.forEach((function(n){n in t&&(e[n]=t[n])})),JSON.stringify(e,null,2)}function Jt(t){return Object.prototype.toString.call(t).indexOf("Error")>-1}function Kt(t,e){return Jt(t)&&t._isRouter&&(null==e||t.type===e)}function Gt(t){return function(e,n,r){var i=!1,o=0,a=null;Xt(t,(function(t,e,n,s){if("function"===typeof t&&void 0===t.cid){i=!0,o++;var c,u=te((function(e){Qt(e)&&(e=e.default),t.resolved="function"===typeof e?e:et.extend(e),n.components[s]=e,o--,o<=0&&r()})),l=te((function(t){var e="Failed to resolve async component "+s+": "+t;a||(a=Jt(t)?t:new Error(e),r(a))}));try{c=t(u,l)}catch(p){l(p)}if(c)if("function"===typeof c.then)c.then(u,l);else{var f=c.component;f&&"function"===typeof f.then&&f.then(u,l)}}})),i||r()}}function Xt(t,e){return Zt(t.map((function(t){return Object.keys(t.components).map((function(n){return e(t.components[n],t.instances[n],t,n)}))})))}function Zt(t){return Array.prototype.concat.apply([],t)}var Yt="function"===typeof Symbol&&"symbol"===typeof Symbol.toStringTag;function Qt(t){return t.__esModule||Yt&&"Module"===t[Symbol.toStringTag]}function te(t){var e=!1;return function(){var n=[],r=arguments.length;while(r--)n[r]=arguments[r];if(!e)return e=!0,t.apply(this,n)}}var ee=function(t,e){this.router=t,this.base=ne(e),this.current=y,this.pending=null,this.ready=!1,this.readyCbs=[],this.readyErrorCbs=[],this.errorCbs=[],this.listeners=[]};function ne(t){if(!t)if(ut){var e=document.querySelector("base");t=e&&e.getAttribute("href")||"/",t=t.replace(/^https?:\/\/[^\/]+/,"")}else t="/";return"/"!==t.charAt(0)&&(t="/"+t),t.replace(/\/$/,"")}function re(t,e){var n,r=Math.max(t.length,e.length);for(n=0;n<r;n++)if(t[n]!==e[n])break;return{updated:e.slice(0,n),activated:e.slice(n),deactivated:t.slice(n)}}function ie(t,e,n,r){var i=Xt(t,(function(t,r,i,o){var a=oe(t,e);if(a)return Array.isArray(a)?a.map((function(t){return n(t,r,i,o)})):n(a,r,i,o)}));return Zt(r?i.reverse():i)}function oe(t,e){return"function"!==typeof t&&(t=et.extend(t)),t.options[e]}function ae(t){return ie(t,"beforeRouteLeave",ce,!0)}function se(t){return ie(t,"beforeRouteUpdate",ce)}function ce(t,e){if(e)return function(){return t.apply(e,arguments)}}function ue(t){return ie(t,"beforeRouteEnter",(function(t,e,n,r){return le(t,n,r)}))}function le(t,e,n){return function(r,i,o){return t(r,i,(function(t){"function"===typeof t&&(e.enteredCbs[n]||(e.enteredCbs[n]=[]),e.enteredCbs[n].push(t)),o(t)}))}}ee.prototype.listen=function(t){this.cb=t},ee.prototype.onReady=function(t,e){this.ready?t():(this.readyCbs.push(t),e&&this.readyErrorCbs.push(e))},ee.prototype.onError=function(t){this.errorCbs.push(t)},ee.prototype.transitionTo=function(t,e,n){var r,i=this;try{r=this.router.match(t,this.current)}catch(a){throw this.errorCbs.forEach((function(t){t(a)})),a}var o=this.current;this.confirmTransition(r,(function(){i.updateRoute(r),e&&e(r),i.ensureURL(),i.router.afterHooks.forEach((function(t){t&&t(r,o)})),i.ready||(i.ready=!0,i.readyCbs.forEach((function(t){t(r)})))}),(function(t){n&&n(t),t&&!i.ready&&(Kt(t,Pt.redirected)&&o===y||(i.ready=!0,i.readyErrorCbs.forEach((function(e){e(t)}))))}))},ee.prototype.confirmTransition=function(t,e,n){var i=this,o=this.current;this.pending=t;var a=function(t){!Kt(t)&&Jt(t)&&(i.errorCbs.length?i.errorCbs.forEach((function(e){e(t)})):(r(!1,"uncaught error during route navigation:"),console.error(t))),n&&n(t)},s=t.matched.length-1,c=o.matched.length-1;if(b(t,o)&&s===c&&t.matched[s]===o.matched[c])return this.ensureURL(),a(Wt(o,t));var u=re(this.current.matched,t.matched),l=u.updated,f=u.deactivated,p=u.activated,h=[].concat(ae(f),this.router.beforeHooks,se(l),p.map((function(t){return t.beforeEnter})),Gt(p)),d=function(e,n){if(i.pending!==t)return a(Ht(o,t));try{e(t,o,(function(e){!1===e?(i.ensureURL(!0),a(Ut(o,t))):Jt(e)?(i.ensureURL(!0),a(e)):"string"===typeof e||"object"===typeof e&&("string"===typeof e.path||"string"===typeof e.name)?(a(Vt(o,t)),"object"===typeof e&&e.replace?i.replace(e):i.push(e)):n(e)}))}catch(r){a(r)}};Nt(h,d,(function(){var n=ue(p),r=n.concat(i.router.resolveHooks);Nt(r,d,(function(){if(i.pending!==t)return a(Ht(o,t));i.pending=null,e(t),i.router.app&&i.router.app.$nextTick((function(){$(t)}))}))}))},ee.prototype.updateRoute=function(t){this.current=t,this.cb&&this.cb(t)},ee.prototype.setupListeners=function(){},ee.prototype.teardown=function(){this.listeners.forEach((function(t){t()})),this.listeners=[],this.current=y,this.pending=null};var fe=function(t){function e(e,n){t.call(this,e,n),this._startLocation=pe(this.base)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.setupListeners=function(){var t=this;if(!(this.listeners.length>0)){var e=this.router,n=e.options.scrollBehavior,r=Mt&&n;r&&this.listeners.push(kt());var i=function(){var n=t.current,i=pe(t.base);t.current===y&&i===t._startLocation||t.transitionTo(i,(function(t){r&&$t(e,t,n,!0)}))};window.addEventListener("popstate",i),this.listeners.push((function(){window.removeEventListener("popstate",i)}))}},e.prototype.go=function(t){window.history.go(t)},e.prototype.push=function(t,e,n){var r=this,i=this,o=i.current;this.transitionTo(t,(function(t){Dt(E(r.base+t.fullPath)),$t(r.router,t,o,!1),e&&e(t)}),n)},e.prototype.replace=function(t,e,n){var r=this,i=this,o=i.current;this.transitionTo(t,(function(t){Rt(E(r.base+t.fullPath)),$t(r.router,t,o,!1),e&&e(t)}),n)},e.prototype.ensureURL=function(t){if(pe(this.base)!==this.current.fullPath){var e=E(this.base+this.current.fullPath);t?Dt(e):Rt(e)}},e.prototype.getCurrentLocation=function(){return pe(this.base)},e}(ee);function pe(t){var e=window.location.pathname,n=e.toLowerCase(),r=t.toLowerCase();return!t||n!==r&&0!==n.indexOf(E(r+"/"))||(e=e.slice(t.length)),(e||"/")+window.location.search+window.location.hash}var he=function(t){function e(e,n,r){t.call(this,e,n),r&&de(this.base)||ve()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.setupListeners=function(){var t=this;if(!(this.listeners.length>0)){var e=this.router,n=e.options.scrollBehavior,r=Mt&&n;r&&this.listeners.push(kt());var i=function(){var e=t.current;ve()&&t.transitionTo(me(),(function(n){r&&$t(t.router,n,e,!0),Mt||_e(n.fullPath)}))},o=Mt?"popstate":"hashchange";window.addEventListener(o,i),this.listeners.push((function(){window.removeEventListener(o,i)}))}},e.prototype.push=function(t,e,n){var r=this,i=this,o=i.current;this.transitionTo(t,(function(t){ge(t.fullPath),$t(r.router,t,o,!1),e&&e(t)}),n)},e.prototype.replace=function(t,e,n){var r=this,i=this,o=i.current;this.transitionTo(t,(function(t){_e(t.fullPath),$t(r.router,t,o,!1),e&&e(t)}),n)},e.prototype.go=function(t){window.history.go(t)},e.prototype.ensureURL=function(t){var e=this.current.fullPath;me()!==e&&(t?ge(e):_e(e))},e.prototype.getCurrentLocation=function(){return me()},e}(ee);function de(t){var e=pe(t);if(!/^\/#/.test(e))return window.location.replace(E(t+"/#"+e)),!0}function ve(){var t=me();return"/"===t.charAt(0)||(_e("/"+t),!1)}function me(){var t=window.location.href,e=t.indexOf("#");return e<0?"":(t=t.slice(e+1),t)}function ye(t){var e=window.location.href,n=e.indexOf("#"),r=n>=0?e.slice(0,n):e;return r+"#"+t}function ge(t){Mt?Dt(ye(t)):window.location.hash=t}function _e(t){Mt?Rt(ye(t)):window.location.replace(ye(t))}var be=function(t){function e(e,n){t.call(this,e,n),this.stack=[],this.index=-1}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.push=function(t,e,n){var r=this;this.transitionTo(t,(function(t){r.stack=r.stack.slice(0,r.index+1).concat(t),r.index++,e&&e(t)}),n)},e.prototype.replace=function(t,e,n){var r=this;this.transitionTo(t,(function(t){r.stack=r.stack.slice(0,r.index).concat(t),e&&e(t)}),n)},e.prototype.go=function(t){var e=this,n=this.index+t;if(!(n<0||n>=this.stack.length)){var r=this.stack[n];this.confirmTransition(r,(function(){var t=e.current;e.index=n,e.updateRoute(r),e.router.afterHooks.forEach((function(e){e&&e(r,t)}))}),(function(t){Kt(t,Pt.duplicated)&&(e.index=n)}))}},e.prototype.getCurrentLocation=function(){var t=this.stack[this.stack.length-1];return t?t.fullPath:"/"},e.prototype.ensureURL=function(){},e}(ee),we=function(t){void 0===t&&(t={}),this.app=null,this.apps=[],this.options=t,this.beforeHooks=[],this.resolveHooks=[],this.afterHooks=[],this.matcher=dt(t.routes||[],this);var e=t.mode||"hash";switch(this.fallback="history"===e&&!Mt&&!1!==t.fallback,this.fallback&&(e="hash"),ut||(e="abstract"),this.mode=e,e){case"history":this.history=new fe(this,t.base);break;case"hash":this.history=new he(this,t.base,this.fallback);break;case"abstract":this.history=new be(this,t.base);break;default:0}},Ce={currentRoute:{configurable:!0}};function ke(t,e){return t.push(e),function(){var n=t.indexOf(e);n>-1&&t.splice(n,1)}}function $e(t,e,n){var r="hash"===n?"#"+e:e;return t?E(t+"/"+r):r}we.prototype.match=function(t,e,n){return this.matcher.match(t,e,n)},Ce.currentRoute.get=function(){return this.history&&this.history.current},we.prototype.init=function(t){var e=this;if(this.apps.push(t),t.$once("hook:destroyed",(function(){var n=e.apps.indexOf(t);n>-1&&e.apps.splice(n,1),e.app===t&&(e.app=e.apps[0]||null),e.app||e.history.teardown()})),!this.app){this.app=t;var n=this.history;if(n instanceof fe||n instanceof he){var r=function(t){var r=n.current,i=e.options.scrollBehavior,o=Mt&&i;o&&"fullPath"in t&&$t(e,t,r,!1)},i=function(t){n.setupListeners(),r(t)};n.transitionTo(n.getCurrentLocation(),i,i)}n.listen((function(t){e.apps.forEach((function(e){e._route=t}))}))}},we.prototype.beforeEach=function(t){return ke(this.beforeHooks,t)},we.prototype.beforeResolve=function(t){return ke(this.resolveHooks,t)},we.prototype.afterEach=function(t){return ke(this.afterHooks,t)},we.prototype.onReady=function(t,e){this.history.onReady(t,e)},we.prototype.onError=function(t){this.history.onError(t)},we.prototype.push=function(t,e,n){var r=this;if(!e&&!n&&"undefined"!==typeof Promise)return new Promise((function(e,n){r.history.push(t,e,n)}));this.history.push(t,e,n)},we.prototype.replace=function(t,e,n){var r=this;if(!e&&!n&&"undefined"!==typeof Promise)return new Promise((function(e,n){r.history.replace(t,e,n)}));this.history.replace(t,e,n)},we.prototype.go=function(t){this.history.go(t)},we.prototype.back=function(){this.go(-1)},we.prototype.forward=function(){this.go(1)},we.prototype.getMatchedComponents=function(t){var e=t?t.matched?t:this.resolve(t).route:this.currentRoute;return e?[].concat.apply([],e.matched.map((function(t){return Object.keys(t.components).map((function(e){return t.components[e]}))}))):[]},we.prototype.resolve=function(t,e,n){e=e||this.history.current;var r=tt(t,e,n,this),i=this.match(r,e),o=i.redirectedFrom||i.fullPath,a=this.history.base,s=$e(a,o,this.mode);return{location:r,route:i,href:s,normalizedTo:r,resolved:i}},we.prototype.getRoutes=function(){return this.matcher.getRoutes()},we.prototype.addRoute=function(t,e){this.matcher.addRoute(t,e),this.history.current!==y&&this.history.transitionTo(this.history.getCurrentLocation())},we.prototype.addRoutes=function(t){this.matcher.addRoutes(t),this.history.current!==y&&this.history.transitionTo(this.history.getCurrentLocation())},Object.defineProperties(we.prototype,Ce),we.install=ct,we.version="3.5.2",we.isNavigationFailure=Kt,we.NavigationFailureType=Pt,we.START_LOCATION=y,ut&&window.Vue&&window.Vue.use(we),e["a"]=we},a925:function(t,e,n){"use strict";
+/*!
+ * vue-i18n v8.28.2
+ * (c) 2022 kazuya kawaguchi
+ * Released under the MIT License.
+ */var r=["compactDisplay","currency","currencyDisplay","currencySign","localeMatcher","notation","numberingSystem","signDisplay","style","unit","unitDisplay","useGrouping","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","minimumSignificantDigits","maximumSignificantDigits"],i=["dateStyle","timeStyle","calendar","localeMatcher","hour12","hourCycle","timeZone","formatMatcher","weekday","era","year","month","day","hour","minute","second","timeZoneName"];function o(t,e){"undefined"!==typeof console&&(console.warn("[vue-i18n] "+t),e&&console.warn(e.stack))}function a(t,e){"undefined"!==typeof console&&(console.error("[vue-i18n] "+t),e&&console.error(e.stack))}var s=Array.isArray;function c(t){return null!==t&&"object"===typeof t}function u(t){return"boolean"===typeof t}function l(t){return"string"===typeof t}var f=Object.prototype.toString,p="[object Object]";function h(t){return f.call(t)===p}function d(t){return null===t||void 0===t}function v(t){return"function"===typeof t}function m(){var t=[],e=arguments.length;while(e--)t[e]=arguments[e];var n=null,r=null;return 1===t.length?c(t[0])||s(t[0])?r=t[0]:"string"===typeof t[0]&&(n=t[0]):2===t.length&&("string"===typeof t[0]&&(n=t[0]),(c(t[1])||s(t[1]))&&(r=t[1])),{locale:n,params:r}}function y(t){return JSON.parse(JSON.stringify(t))}function g(t,e){if(t.delete(e))return t}function _(t){var e=[];return t.forEach((function(t){return e.push(t)})),e}function b(t,e){return!!~t.indexOf(e)}var w=Object.prototype.hasOwnProperty;function C(t,e){return w.call(t,e)}function k(t){for(var e=arguments,n=Object(t),r=1;r<arguments.length;r++){var i=e[r];if(void 0!==i&&null!==i){var o=void 0;for(o in i)C(i,o)&&(c(i[o])?n[o]=k(n[o],i[o]):n[o]=i[o])}}return n}function $(t,e){if(t===e)return!0;var n=c(t),r=c(e);if(!n||!r)return!n&&!r&&String(t)===String(e);try{var i=s(t),o=s(e);if(i&&o)return t.length===e.length&&t.every((function(t,n){return $(t,e[n])}));if(i||o)return!1;var a=Object.keys(t),u=Object.keys(e);return a.length===u.length&&a.every((function(n){return $(t[n],e[n])}))}catch(l){return!1}}function x(t){return t.replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function A(t){return null!=t&&Object.keys(t).forEach((function(e){"string"==typeof t[e]&&(t[e]=x(t[e]))})),t}function O(t){t.prototype.hasOwnProperty("$i18n")||Object.defineProperty(t.prototype,"$i18n",{get:function(){return this._i18n}}),t.prototype.$t=function(t){var e=[],n=arguments.length-1;while(n-- >0)e[n]=arguments[n+1];var r=this.$i18n;return r._t.apply(r,[t,r.locale,r._getMessages(),this].concat(e))},t.prototype.$tc=function(t,e){var n=[],r=arguments.length-2;while(r-- >0)n[r]=arguments[r+2];var i=this.$i18n;return i._tc.apply(i,[t,i.locale,i._getMessages(),this,e].concat(n))},t.prototype.$te=function(t,e){var n=this.$i18n;return n._te(t,n.locale,n._getMessages(),e)},t.prototype.$d=function(t){var e,n=[],r=arguments.length-1;while(r-- >0)n[r]=arguments[r+1];return(e=this.$i18n).d.apply(e,[t].concat(n))},t.prototype.$n=function(t){var e,n=[],r=arguments.length-1;while(r-- >0)n[r]=arguments[r+1];return(e=this.$i18n).n.apply(e,[t].concat(n))}}function S(t){function e(){this!==this.$root&&this.$options.__INTLIFY_META__&&this.$el&&this.$el.setAttribute("data-intlify",this.$options.__INTLIFY_META__)}return void 0===t&&(t=!1),t?{mounted:e}:{beforeCreate:function(){var t=this.$options;if(t.i18n=t.i18n||(t.__i18nBridge||t.__i18n?{}:null),t.i18n)if(t.i18n instanceof At){if(t.__i18nBridge||t.__i18n)try{var e=t.i18n&&t.i18n.messages?t.i18n.messages:{},n=t.__i18nBridge||t.__i18n;n.forEach((function(t){e=k(e,JSON.parse(t))})),Object.keys(e).forEach((function(n){t.i18n.mergeLocaleMessage(n,e[n])}))}catch(c){0}this._i18n=t.i18n,this._i18nWatcher=this._i18n.watchI18nData()}else if(h(t.i18n)){var r=this.$root&&this.$root.$i18n&&this.$root.$i18n instanceof At?this.$root.$i18n:null;if(r&&(t.i18n.root=this.$root,t.i18n.formatter=r.formatter,t.i18n.fallbackLocale=r.fallbackLocale,t.i18n.formatFallbackMessages=r.formatFallbackMessages,t.i18n.silentTranslationWarn=r.silentTranslationWarn,t.i18n.silentFallbackWarn=r.silentFallbackWarn,t.i18n.pluralizationRules=r.pluralizationRules,t.i18n.preserveDirectiveContent=r.preserveDirectiveContent),t.__i18nBridge||t.__i18n)try{var i=t.i18n&&t.i18n.messages?t.i18n.messages:{},o=t.__i18nBridge||t.__i18n;o.forEach((function(t){i=k(i,JSON.parse(t))})),t.i18n.messages=i}catch(c){0}var a=t.i18n,s=a.sharedMessages;s&&h(s)&&(t.i18n.messages=k(t.i18n.messages,s)),this._i18n=new At(t.i18n),this._i18nWatcher=this._i18n.watchI18nData(),(void 0===t.i18n.sync||t.i18n.sync)&&(this._localeWatcher=this.$i18n.watchLocale()),r&&r.onComponentInstanceCreated(this._i18n)}else 0;else this.$root&&this.$root.$i18n&&this.$root.$i18n instanceof At?this._i18n=this.$root.$i18n:t.parent&&t.parent.$i18n&&t.parent.$i18n instanceof At&&(this._i18n=t.parent.$i18n)},beforeMount:function(){var t=this.$options;t.i18n=t.i18n||(t.__i18nBridge||t.__i18n?{}:null),t.i18n?(t.i18n instanceof At||h(t.i18n))&&(this._i18n.subscribeDataChanging(this),this._subscribing=!0):(this.$root&&this.$root.$i18n&&this.$root.$i18n instanceof At||t.parent&&t.parent.$i18n&&t.parent.$i18n instanceof At)&&(this._i18n.subscribeDataChanging(this),this._subscribing=!0)},mounted:e,beforeDestroy:function(){if(this._i18n){var t=this;this.$nextTick((function(){t._subscribing&&(t._i18n.unsubscribeDataChanging(t),delete t._subscribing),t._i18nWatcher&&(t._i18nWatcher(),t._i18n.destroyVM(),delete t._i18nWatcher),t._localeWatcher&&(t._localeWatcher(),delete t._localeWatcher)}))}}}}var T={name:"i18n",functional:!0,props:{tag:{type:[String,Boolean,Object],default:"span"},path:{type:String,required:!0},locale:{type:String},places:{type:[Array,Object]}},render:function(t,e){var n=e.data,r=e.parent,i=e.props,o=e.slots,a=r.$i18n;if(a){var s=i.path,c=i.locale,u=i.places,l=o(),f=a.i(s,c,E(l)||u?j(l.default,u):l),p=i.tag&&!0!==i.tag||!1===i.tag?i.tag:"span";return p?t(p,n,f):f}}};function E(t){var e;for(e in t)if("default"!==e)return!1;return Boolean(e)}function j(t,e){var n=e?F(e):{};if(!t)return n;t=t.filter((function(t){return t.tag||""!==t.text.trim()}));var r=t.every(M);return t.reduce(r?I:L,n)}function F(t){return Array.isArray(t)?t.reduce(L,{}):Object.assign({},t)}function I(t,e){return e.data&&e.data.attrs&&e.data.attrs.place&&(t[e.data.attrs.place]=e),t}function L(t,e,n){return t[n]=e,t}function M(t){return Boolean(t.data&&t.data.attrs&&t.data.attrs.place)}var D,R={name:"i18n-n",functional:!0,props:{tag:{type:[String,Boolean,Object],default:"span"},value:{type:Number,required:!0},format:{type:[String,Object]},locale:{type:String}},render:function(t,e){var n=e.props,i=e.parent,o=e.data,a=i.$i18n;if(!a)return null;var s=null,u=null;l(n.format)?s=n.format:c(n.format)&&(n.format.key&&(s=n.format.key),u=Object.keys(n.format).reduce((function(t,e){var i;return b(r,e)?Object.assign({},t,(i={},i[e]=n.format[e],i)):t}),null));var f=n.locale||a.locale,p=a._ntp(n.value,f,s,u),h=p.map((function(t,e){var n,r=o.scopedSlots&&o.scopedSlots[t.type];return r?r((n={},n[t.type]=t.value,n.index=e,n.parts=p,n)):t.value})),d=n.tag&&!0!==n.tag||!1===n.tag?n.tag:"span";return d?t(d,{attrs:o.attrs,class:o["class"],staticClass:o.staticClass},h):h}};function N(t,e,n){W(t,n)&&U(t,e,n)}function P(t,e,n,r){if(W(t,n)){var i=n.context.$i18n;H(t,n)&&$(e.value,e.oldValue)&&$(t._localeMessage,i.getLocaleMessage(i.locale))||U(t,e,n)}}function V(t,e,n,r){var i=n.context;if(i){var a=n.context.$i18n||{};e.modifiers.preserve||a.preserveDirectiveContent||(t.textContent=""),t._vt=void 0,delete t["_vt"],t._locale=void 0,delete t["_locale"],t._localeMessage=void 0,delete t["_localeMessage"]}else o("Vue instance does not exists in VNode context")}function W(t,e){var n=e.context;return n?!!n.$i18n||(o("VueI18n instance does not exists in Vue instance"),!1):(o("Vue instance does not exists in VNode context"),!1)}function H(t,e){var n=e.context;return t._locale===n.$i18n.locale}function U(t,e,n){var r,i,a=e.value,s=B(a),c=s.path,u=s.locale,l=s.args,f=s.choice;if(c||u||l)if(c){var p=n.context;t._vt=t.textContent=null!=f?(r=p.$i18n).tc.apply(r,[c,f].concat(z(u,l))):(i=p.$i18n).t.apply(i,[c].concat(z(u,l))),t._locale=p.$i18n.locale,t._localeMessage=p.$i18n.getLocaleMessage(p.$i18n.locale)}else o("`path` is required in v-t directive");else o("value type not supported")}function B(t){var e,n,r,i;return l(t)?e=t:h(t)&&(e=t.path,n=t.locale,r=t.args,i=t.choice),{path:e,locale:n,args:r,choice:i}}function z(t,e){var n=[];return t&&n.push(t),e&&(Array.isArray(e)||h(e))&&n.push(e),n}function q(t,e){void 0===e&&(e={bridge:!1}),q.installed=!0,D=t;D.version&&Number(D.version.split(".")[0]);O(D),D.mixin(S(e.bridge)),D.directive("t",{bind:N,update:P,unbind:V}),D.component(T.name,T),D.component(R.name,R);var n=D.config.optionMergeStrategies;n.i18n=function(t,e){return void 0===e?t:e}}var J=function(){this._caches=Object.create(null)};J.prototype.interpolate=function(t,e){if(!e)return[t];var n=this._caches[t];return n||(n=X(t),this._caches[t]=n),Z(n,e)};var K=/^(?:\d)+/,G=/^(?:\w)+/;function X(t){var e=[],n=0,r="";while(n<t.length){var i=t[n++];if("{"===i){r&&e.push({type:"text",value:r}),r="";var o="";i=t[n++];while(void 0!==i&&"}"!==i)o+=i,i=t[n++];var a="}"===i,s=K.test(o)?"list":a&&G.test(o)?"named":"unknown";e.push({value:o,type:s})}else"%"===i?"{"!==t[n]&&(r+=i):r+=i}return r&&e.push({type:"text",value:r}),e}function Z(t,e){var n=[],r=0,i=Array.isArray(e)?"list":c(e)?"named":"unknown";if("unknown"===i)return n;while(r<t.length){var o=t[r];switch(o.type){case"text":n.push(o.value);break;case"list":n.push(e[parseInt(o.value,10)]);break;case"named":"named"===i&&n.push(e[o.value]);break;case"unknown":0;break}r++}return n}var Y=0,Q=1,tt=2,et=3,nt=0,rt=1,it=2,ot=3,at=4,st=5,ct=6,ut=7,lt=8,ft=[];ft[nt]={ws:[nt],ident:[ot,Y],"[":[at],eof:[ut]},ft[rt]={ws:[rt],".":[it],"[":[at],eof:[ut]},ft[it]={ws:[it],ident:[ot,Y],0:[ot,Y],number:[ot,Y]},ft[ot]={ident:[ot,Y],0:[ot,Y],number:[ot,Y],ws:[rt,Q],".":[it,Q],"[":[at,Q],eof:[ut,Q]},ft[at]={"'":[st,Y],'"':[ct,Y],"[":[at,tt],"]":[rt,et],eof:lt,else:[at,Y]},ft[st]={"'":[at,Y],eof:lt,else:[st,Y]},ft[ct]={'"':[at,Y],eof:lt,else:[ct,Y]};var pt=/^\s?(?:true|false|-?[\d.]+|'[^']*'|"[^"]*")\s?$/;function ht(t){return pt.test(t)}function dt(t){var e=t.charCodeAt(0),n=t.charCodeAt(t.length-1);return e!==n||34!==e&&39!==e?t:t.slice(1,-1)}function vt(t){if(void 0===t||null===t)return"eof";var e=t.charCodeAt(0);switch(e){case 91:case 93:case 46:case 34:case 39:return t;case 95:case 36:case 45:return"ident";case 9:case 10:case 13:case 160:case 65279:case 8232:case 8233:return"ws"}return"ident"}function mt(t){var e=t.trim();return("0"!==t.charAt(0)||!isNaN(t))&&(ht(e)?dt(e):"*"+e)}function yt(t){var e,n,r,i,o,a,s,c=[],u=-1,l=nt,f=0,p=[];function h(){var e=t[u+1];if(l===st&&"'"===e||l===ct&&'"'===e)return u++,r="\\"+e,p[Y](),!0}p[Q]=function(){void 0!==n&&(c.push(n),n=void 0)},p[Y]=function(){void 0===n?n=r:n+=r},p[tt]=function(){p[Y](),f++},p[et]=function(){if(f>0)f--,l=at,p[Y]();else{if(f=0,void 0===n)return!1;if(n=mt(n),!1===n)return!1;p[Q]()}};while(null!==l)if(u++,e=t[u],"\\"!==e||!h()){if(i=vt(e),s=ft[l],o=s[i]||s["else"]||lt,o===lt)return;if(l=o[0],a=p[o[1]],a&&(r=o[2],r=void 0===r?e:r,!1===a()))return;if(l===ut)return c}}var gt=function(){this._cache=Object.create(null)};gt.prototype.parsePath=function(t){var e=this._cache[t];return e||(e=yt(t),e&&(this._cache[t]=e)),e||[]},gt.prototype.getPathValue=function(t,e){if(!c(t))return null;var n=this.parsePath(e);if(0===n.length)return null;var r=n.length,i=t,o=0;while(o<r){var a=i[n[o]];if(void 0===a||null===a)return null;i=a,o++}return i};var _t,bt=/<\/?[\w\s="/.':;#-\/]+>/,wt=/(?:@(?:\.[a-zA-Z]+)?:(?:[\w\-_|./]+|\([\w\-_:|./]+\)))/g,Ct=/^@(?:\.([a-zA-Z]+))?:/,kt=/[()]/g,$t={upper:function(t){return t.toLocaleUpperCase()},lower:function(t){return t.toLocaleLowerCase()},capitalize:function(t){return""+t.charAt(0).toLocaleUpperCase()+t.substr(1)}},xt=new J,At=function(t){var e=this;void 0===t&&(t={}),!D&&"undefined"!==typeof window&&window.Vue&&q(window.Vue);var n=t.locale||"en-US",r=!1!==t.fallbackLocale&&(t.fallbackLocale||"en-US"),i=t.messages||{},o=t.dateTimeFormats||t.datetimeFormats||{},a=t.numberFormats||{};this._vm=null,this._formatter=t.formatter||xt,this._modifiers=t.modifiers||{},this._missing=t.missing||null,this._root=t.root||null,this._sync=void 0===t.sync||!!t.sync,this._fallbackRoot=void 0===t.fallbackRoot||!!t.fallbackRoot,this._fallbackRootWithEmptyString=void 0===t.fallbackRootWithEmptyString||!!t.fallbackRootWithEmptyString,this._formatFallbackMessages=void 0!==t.formatFallbackMessages&&!!t.formatFallbackMessages,this._silentTranslationWarn=void 0!==t.silentTranslationWarn&&t.silentTranslationWarn,this._silentFallbackWarn=void 0!==t.silentFallbackWarn&&!!t.silentFallbackWarn,this._dateTimeFormatters={},this._numberFormatters={},this._path=new gt,this._dataListeners=new Set,this._componentInstanceCreatedListener=t.componentInstanceCreatedListener||null,this._preserveDirectiveContent=void 0!==t.preserveDirectiveContent&&!!t.preserveDirectiveContent,this.pluralizationRules=t.pluralizationRules||{},this._warnHtmlInMessage=t.warnHtmlInMessage||"off",this._postTranslation=t.postTranslation||null,this._escapeParameterHtml=t.escapeParameterHtml||!1,"__VUE_I18N_BRIDGE__"in t&&(this.__VUE_I18N_BRIDGE__=t.__VUE_I18N_BRIDGE__),this.getChoiceIndex=function(t,n){var r=Object.getPrototypeOf(e);if(r&&r.getChoiceIndex){var i=r.getChoiceIndex;return i.call(e,t,n)}var o=function(t,e){return t=Math.abs(t),2===e?t?t>1?1:0:1:t?Math.min(t,2):0};return e.locale in e.pluralizationRules?e.pluralizationRules[e.locale].apply(e,[t,n]):o(t,n)},this._exist=function(t,n){return!(!t||!n)&&(!d(e._path.getPathValue(t,n))||!!t[n])},"warn"!==this._warnHtmlInMessage&&"error"!==this._warnHtmlInMessage||Object.keys(i).forEach((function(t){e._checkLocaleMessage(t,e._warnHtmlInMessage,i[t])})),this._initVM({locale:n,fallbackLocale:r,messages:i,dateTimeFormats:o,numberFormats:a})},Ot={vm:{configurable:!0},messages:{configurable:!0},dateTimeFormats:{configurable:!0},numberFormats:{configurable:!0},availableLocales:{configurable:!0},locale:{configurable:!0},fallbackLocale:{configurable:!0},formatFallbackMessages:{configurable:!0},missing:{configurable:!0},formatter:{configurable:!0},silentTranslationWarn:{configurable:!0},silentFallbackWarn:{configurable:!0},preserveDirectiveContent:{configurable:!0},warnHtmlInMessage:{configurable:!0},postTranslation:{configurable:!0},sync:{configurable:!0}};At.prototype._checkLocaleMessage=function(t,e,n){var r=[],i=function(t,e,n,r){if(h(n))Object.keys(n).forEach((function(o){var a=n[o];h(a)?(r.push(o),r.push("."),i(t,e,a,r),r.pop(),r.pop()):(r.push(o),i(t,e,a,r),r.pop())}));else if(s(n))n.forEach((function(n,o){h(n)?(r.push("["+o+"]"),r.push("."),i(t,e,n,r),r.pop(),r.pop()):(r.push("["+o+"]"),i(t,e,n,r),r.pop())}));else if(l(n)){var c=bt.test(n);if(c){var u="Detected HTML in message '"+n+"' of keypath '"+r.join("")+"' at '"+e+"'. Consider component interpolation with '<i18n>' to avoid XSS. See https://bit.ly/2ZqJzkp";"warn"===t?o(u):"error"===t&&a(u)}}};i(e,t,n,r)},At.prototype._initVM=function(t){var e=D.config.silent;D.config.silent=!0,this._vm=new D({data:t,__VUE18N__INSTANCE__:!0}),D.config.silent=e},At.prototype.destroyVM=function(){this._vm.$destroy()},At.prototype.subscribeDataChanging=function(t){this._dataListeners.add(t)},At.prototype.unsubscribeDataChanging=function(t){g(this._dataListeners,t)},At.prototype.watchI18nData=function(){var t=this;return this._vm.$watch("$data",(function(){var e=_(t._dataListeners),n=e.length;while(n--)D.nextTick((function(){e[n]&&e[n].$forceUpdate()}))}),{deep:!0})},At.prototype.watchLocale=function(t){if(t){if(!this.__VUE_I18N_BRIDGE__)return null;var e=this,n=this._vm;return this.vm.$watch("locale",(function(r){n.$set(n,"locale",r),e.__VUE_I18N_BRIDGE__&&t&&(t.locale.value=r),n.$forceUpdate()}),{immediate:!0})}if(!this._sync||!this._root)return null;var r=this._vm;return this._root.$i18n.vm.$watch("locale",(function(t){r.$set(r,"locale",t),r.$forceUpdate()}),{immediate:!0})},At.prototype.onComponentInstanceCreated=function(t){this._componentInstanceCreatedListener&&this._componentInstanceCreatedListener(t,this)},Ot.vm.get=function(){return this._vm},Ot.messages.get=function(){return y(this._getMessages())},Ot.dateTimeFormats.get=function(){return y(this._getDateTimeFormats())},Ot.numberFormats.get=function(){return y(this._getNumberFormats())},Ot.availableLocales.get=function(){return Object.keys(this.messages).sort()},Ot.locale.get=function(){return this._vm.locale},Ot.locale.set=function(t){this._vm.$set(this._vm,"locale",t)},Ot.fallbackLocale.get=function(){return this._vm.fallbackLocale},Ot.fallbackLocale.set=function(t){this._localeChainCache={},this._vm.$set(this._vm,"fallbackLocale",t)},Ot.formatFallbackMessages.get=function(){return this._formatFallbackMessages},Ot.formatFallbackMessages.set=function(t){this._formatFallbackMessages=t},Ot.missing.get=function(){return this._missing},Ot.missing.set=function(t){this._missing=t},Ot.formatter.get=function(){return this._formatter},Ot.formatter.set=function(t){this._formatter=t},Ot.silentTranslationWarn.get=function(){return this._silentTranslationWarn},Ot.silentTranslationWarn.set=function(t){this._silentTranslationWarn=t},Ot.silentFallbackWarn.get=function(){return this._silentFallbackWarn},Ot.silentFallbackWarn.set=function(t){this._silentFallbackWarn=t},Ot.preserveDirectiveContent.get=function(){return this._preserveDirectiveContent},Ot.preserveDirectiveContent.set=function(t){this._preserveDirectiveContent=t},Ot.warnHtmlInMessage.get=function(){return this._warnHtmlInMessage},Ot.warnHtmlInMessage.set=function(t){var e=this,n=this._warnHtmlInMessage;if(this._warnHtmlInMessage=t,n!==t&&("warn"===t||"error"===t)){var r=this._getMessages();Object.keys(r).forEach((function(t){e._checkLocaleMessage(t,e._warnHtmlInMessage,r[t])}))}},Ot.postTranslation.get=function(){return this._postTranslation},Ot.postTranslation.set=function(t){this._postTranslation=t},Ot.sync.get=function(){return this._sync},Ot.sync.set=function(t){this._sync=t},At.prototype._getMessages=function(){return this._vm.messages},At.prototype._getDateTimeFormats=function(){return this._vm.dateTimeFormats},At.prototype._getNumberFormats=function(){return this._vm.numberFormats},At.prototype._warnDefault=function(t,e,n,r,i,o){if(!d(n))return n;if(this._missing){var a=this._missing.apply(null,[t,e,r,i]);if(l(a))return a}else 0;if(this._formatFallbackMessages){var s=m.apply(void 0,i);return this._render(e,o,s.params,e)}return e},At.prototype._isFallbackRoot=function(t){return(this._fallbackRootWithEmptyString?!t:d(t))&&!d(this._root)&&this._fallbackRoot},At.prototype._isSilentFallbackWarn=function(t){return this._silentFallbackWarn instanceof RegExp?this._silentFallbackWarn.test(t):this._silentFallbackWarn},At.prototype._isSilentFallback=function(t,e){return this._isSilentFallbackWarn(e)&&(this._isFallbackRoot()||t!==this.fallbackLocale)},At.prototype._isSilentTranslationWarn=function(t){return this._silentTranslationWarn instanceof RegExp?this._silentTranslationWarn.test(t):this._silentTranslationWarn},At.prototype._interpolate=function(t,e,n,r,i,o,a){if(!e)return null;var c,u=this._path.getPathValue(e,n);if(s(u)||h(u))return u;if(d(u)){if(!h(e))return null;if(c=e[n],!l(c)&&!v(c))return null}else{if(!l(u)&&!v(u))return null;c=u}return l(c)&&(c.indexOf("@:")>=0||c.indexOf("@.")>=0)&&(c=this._link(t,e,c,r,"raw",o,a)),this._render(c,i,o,n)},At.prototype._link=function(t,e,n,r,i,o,a){var c=n,u=c.match(wt);for(var l in u)if(u.hasOwnProperty(l)){var f=u[l],p=f.match(Ct),h=p[0],d=p[1],v=f.replace(h,"").replace(kt,"");if(b(a,v))return c;a.push(v);var m=this._interpolate(t,e,v,r,"raw"===i?"string":i,"raw"===i?void 0:o,a);if(this._isFallbackRoot(m)){if(!this._root)throw Error("unexpected error");var y=this._root.$i18n;m=y._translate(y._getMessages(),y.locale,y.fallbackLocale,v,r,i,o)}m=this._warnDefault(t,v,m,r,s(o)?o:[o],i),this._modifiers.hasOwnProperty(d)?m=this._modifiers[d](m):$t.hasOwnProperty(d)&&(m=$t[d](m)),a.pop(),c=m?c.replace(f,m):c}return c},At.prototype._createMessageContext=function(t,e,n,r){var i=this,o=s(t)?t:[],a=c(t)?t:{},u=function(t){return o[t]},l=function(t){return a[t]},f=this._getMessages(),p=this.locale;return{list:u,named:l,values:t,formatter:e,path:n,messages:f,locale:p,linked:function(t){return i._interpolate(p,f[p]||{},t,null,r,void 0,[t])}}},At.prototype._render=function(t,e,n,r){if(v(t))return t(this._createMessageContext(n,this._formatter||xt,r,e));var i=this._formatter.interpolate(t,n,r);return i||(i=xt.interpolate(t,n,r)),"string"!==e||l(i)?i:i.join("")},At.prototype._appendItemToChain=function(t,e,n){var r=!1;return b(t,e)||(r=!0,e&&(r="!"!==e[e.length-1],e=e.replace(/!/g,""),t.push(e),n&&n[e]&&(r=n[e]))),r},At.prototype._appendLocaleToChain=function(t,e,n){var r,i=e.split("-");do{var o=i.join("-");r=this._appendItemToChain(t,o,n),i.splice(-1,1)}while(i.length&&!0===r);return r},At.prototype._appendBlockToChain=function(t,e,n){for(var r=!0,i=0;i<e.length&&u(r);i++){var o=e[i];l(o)&&(r=this._appendLocaleToChain(t,o,n))}return r},At.prototype._getLocaleChain=function(t,e){if(""===t)return[];this._localeChainCache||(this._localeChainCache={});var n=this._localeChainCache[t];if(!n){e||(e=this.fallbackLocale),n=[];var r,i=[t];while(s(i))i=this._appendBlockToChain(n,i,e);r=s(e)?e:c(e)?e["default"]?e["default"]:null:e,i=l(r)?[r]:r,i&&this._appendBlockToChain(n,i,null),this._localeChainCache[t]=n}return n},At.prototype._translate=function(t,e,n,r,i,o,a){for(var s,c=this._getLocaleChain(e,n),u=0;u<c.length;u++){var l=c[u];if(s=this._interpolate(l,t[l],r,i,o,a,[r]),!d(s))return s}return null},At.prototype._t=function(t,e,n,r){var i,o=[],a=arguments.length-4;while(a-- >0)o[a]=arguments[a+4];if(!t)return"";var s=m.apply(void 0,o);this._escapeParameterHtml&&(s.params=A(s.params));var c=s.locale||e,u=this._translate(n,c,this.fallbackLocale,t,r,"string",s.params);if(this._isFallbackRoot(u)){if(!this._root)throw Error("unexpected error");return(i=this._root).$t.apply(i,[t].concat(o))}return u=this._warnDefault(c,t,u,r,o,"string"),this._postTranslation&&null!==u&&void 0!==u&&(u=this._postTranslation(u,t)),u},At.prototype.t=function(t){var e,n=[],r=arguments.length-1;while(r-- >0)n[r]=arguments[r+1];return(e=this)._t.apply(e,[t,this.locale,this._getMessages(),null].concat(n))},At.prototype._i=function(t,e,n,r,i){var o=this._translate(n,e,this.fallbackLocale,t,r,"raw",i);if(this._isFallbackRoot(o)){if(!this._root)throw Error("unexpected error");return this._root.$i18n.i(t,e,i)}return this._warnDefault(e,t,o,r,[i],"raw")},At.prototype.i=function(t,e,n){return t?(l(e)||(e=this.locale),this._i(t,e,this._getMessages(),null,n)):""},At.prototype._tc=function(t,e,n,r,i){var o,a=[],s=arguments.length-5;while(s-- >0)a[s]=arguments[s+5];if(!t)return"";void 0===i&&(i=1);var c={count:i,n:i},u=m.apply(void 0,a);return u.params=Object.assign(c,u.params),a=null===u.locale?[u.params]:[u.locale,u.params],this.fetchChoice((o=this)._t.apply(o,[t,e,n,r].concat(a)),i)},At.prototype.fetchChoice=function(t,e){if(!t||!l(t))return null;var n=t.split("|");return e=this.getChoiceIndex(e,n.length),n[e]?n[e].trim():t},At.prototype.tc=function(t,e){var n,r=[],i=arguments.length-2;while(i-- >0)r[i]=arguments[i+2];return(n=this)._tc.apply(n,[t,this.locale,this._getMessages(),null,e].concat(r))},At.prototype._te=function(t,e,n){var r=[],i=arguments.length-3;while(i-- >0)r[i]=arguments[i+3];var o=m.apply(void 0,r).locale||e;return this._exist(n[o],t)},At.prototype.te=function(t,e){return this._te(t,this.locale,this._getMessages(),e)},At.prototype.getLocaleMessage=function(t){return y(this._vm.messages[t]||{})},At.prototype.setLocaleMessage=function(t,e){"warn"!==this._warnHtmlInMessage&&"error"!==this._warnHtmlInMessage||this._checkLocaleMessage(t,this._warnHtmlInMessage,e),this._vm.$set(this._vm.messages,t,e)},At.prototype.mergeLocaleMessage=function(t,e){"warn"!==this._warnHtmlInMessage&&"error"!==this._warnHtmlInMessage||this._checkLocaleMessage(t,this._warnHtmlInMessage,e),this._vm.$set(this._vm.messages,t,k("undefined"!==typeof this._vm.messages[t]&&Object.keys(this._vm.messages[t]).length?Object.assign({},this._vm.messages[t]):{},e))},At.prototype.getDateTimeFormat=function(t){return y(this._vm.dateTimeFormats[t]||{})},At.prototype.setDateTimeFormat=function(t,e){this._vm.$set(this._vm.dateTimeFormats,t,e),this._clearDateTimeFormat(t,e)},At.prototype.mergeDateTimeFormat=function(t,e){this._vm.$set(this._vm.dateTimeFormats,t,k(this._vm.dateTimeFormats[t]||{},e)),this._clearDateTimeFormat(t,e)},At.prototype._clearDateTimeFormat=function(t,e){for(var n in e){var r=t+"__"+n;this._dateTimeFormatters.hasOwnProperty(r)&&delete this._dateTimeFormatters[r]}},At.prototype._localizeDateTime=function(t,e,n,r,i,o){for(var a=e,s=r[a],c=this._getLocaleChain(e,n),u=0;u<c.length;u++){var l=c[u];if(s=r[l],a=l,!d(s)&&!d(s[i]))break}if(d(s)||d(s[i]))return null;var f,p=s[i];if(o)f=new Intl.DateTimeFormat(a,Object.assign({},p,o));else{var h=a+"__"+i;f=this._dateTimeFormatters[h],f||(f=this._dateTimeFormatters[h]=new Intl.DateTimeFormat(a,p))}return f.format(t)},At.prototype._d=function(t,e,n,r){if(!n){var i=r?new Intl.DateTimeFormat(e,r):new Intl.DateTimeFormat(e);return i.format(t)}var o=this._localizeDateTime(t,e,this.fallbackLocale,this._getDateTimeFormats(),n,r);if(this._isFallbackRoot(o)){if(!this._root)throw Error("unexpected error");return this._root.$i18n.d(t,n,e)}return o||""},At.prototype.d=function(t){var e=[],n=arguments.length-1;while(n-- >0)e[n]=arguments[n+1];var r=this.locale,o=null,a=null;return 1===e.length?(l(e[0])?o=e[0]:c(e[0])&&(e[0].locale&&(r=e[0].locale),e[0].key&&(o=e[0].key)),a=Object.keys(e[0]).reduce((function(t,n){var r;return b(i,n)?Object.assign({},t,(r={},r[n]=e[0][n],r)):t}),null)):2===e.length&&(l(e[0])&&(o=e[0]),l(e[1])&&(r=e[1])),this._d(t,r,o,a)},At.prototype.getNumberFormat=function(t){return y(this._vm.numberFormats[t]||{})},At.prototype.setNumberFormat=function(t,e){this._vm.$set(this._vm.numberFormats,t,e),this._clearNumberFormat(t,e)},At.prototype.mergeNumberFormat=function(t,e){this._vm.$set(this._vm.numberFormats,t,k(this._vm.numberFormats[t]||{},e)),this._clearNumberFormat(t,e)},At.prototype._clearNumberFormat=function(t,e){for(var n in e){var r=t+"__"+n;this._numberFormatters.hasOwnProperty(r)&&delete this._numberFormatters[r]}},At.prototype._getNumberFormatter=function(t,e,n,r,i,o){for(var a=e,s=r[a],c=this._getLocaleChain(e,n),u=0;u<c.length;u++){var l=c[u];if(s=r[l],a=l,!d(s)&&!d(s[i]))break}if(d(s)||d(s[i]))return null;var f,p=s[i];if(o)f=new Intl.NumberFormat(a,Object.assign({},p,o));else{var h=a+"__"+i;f=this._numberFormatters[h],f||(f=this._numberFormatters[h]=new Intl.NumberFormat(a,p))}return f},At.prototype._n=function(t,e,n,r){if(!At.availabilities.numberFormat)return"";if(!n){var i=r?new Intl.NumberFormat(e,r):new Intl.NumberFormat(e);return i.format(t)}var o=this._getNumberFormatter(t,e,this.fallbackLocale,this._getNumberFormats(),n,r),a=o&&o.format(t);if(this._isFallbackRoot(a)){if(!this._root)throw Error("unexpected error");return this._root.$i18n.n(t,Object.assign({},{key:n,locale:e},r))}return a||""},At.prototype.n=function(t){var e=[],n=arguments.length-1;while(n-- >0)e[n]=arguments[n+1];var i=this.locale,o=null,a=null;return 1===e.length?l(e[0])?o=e[0]:c(e[0])&&(e[0].locale&&(i=e[0].locale),e[0].key&&(o=e[0].key),a=Object.keys(e[0]).reduce((function(t,n){var i;return b(r,n)?Object.assign({},t,(i={},i[n]=e[0][n],i)):t}),null)):2===e.length&&(l(e[0])&&(o=e[0]),l(e[1])&&(i=e[1])),this._n(t,i,o,a)},At.prototype._ntp=function(t,e,n,r){if(!At.availabilities.numberFormat)return[];if(!n){var i=r?new Intl.NumberFormat(e,r):new Intl.NumberFormat(e);return i.formatToParts(t)}var o=this._getNumberFormatter(t,e,this.fallbackLocale,this._getNumberFormats(),n,r),a=o&&o.formatToParts(t);if(this._isFallbackRoot(a)){if(!this._root)throw Error("unexpected error");return this._root.$i18n._ntp(t,e,n,r)}return a||[]},Object.defineProperties(At.prototype,Ot),Object.defineProperty(At,"availabilities",{get:function(){if(!_t){var t="undefined"!==typeof Intl;_t={dateTimeFormat:t&&"undefined"!==typeof Intl.DateTimeFormat,numberFormat:t&&"undefined"!==typeof Intl.NumberFormat}}return _t}}),At.install=q,At.version="8.28.2",e["a"]=At},c8ba:function(t,e){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(r){"object"===typeof window&&(n=window)}t.exports=n},e7a5:function(t,e,n){(function(e){(function(e,n){t.exports=n(e)})("undefined"!=typeof e?e:this,(function(t){if(t.CSS&&t.CSS.escape)return t.CSS.escape;var e=function(t){if(0==arguments.length)throw new TypeError("`CSS.escape` requires an argument.");var e,n=String(t),r=n.length,i=-1,o="",a=n.charCodeAt(0);while(++i<r)e=n.charCodeAt(i),o+=0!=e?e>=1&&e<=31||127==e||0==i&&e>=48&&e<=57||1==i&&e>=48&&e<=57&&45==a?"\\"+e.toString(16)+" ":(0!=i||1!=r||45!=e)&&(e>=128||45==e||95==e||e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122)?n.charAt(i):"\\"+n.charAt(i):"�";return o};return t.CSS||(t.CSS={}),t.CSS.escape=e,e}))}).call(this,n("c8ba"))}}]);
\ No newline at end of file
--- /dev/null
+/*!
+ * This source file is part of the Swift.org open source project
+ *
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ *
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["documentation-topic"],{"00f2":function(e,t,n){"use strict";n("2089")},"0b72":function(e,t,n){},"115d":function(e,t,n){"use strict";n("20dd")},1347:function(e,t,n){"use strict";n("367e")},"14d4":function(e,t,n){},"18f4":function(e,t,n){},"1a39":function(e,t,n){"use strict";n("a7e9")},"1e0b":function(e,t,n){"use strict";n("412b")},"1fde":function(e,t,n){},2089:function(e,t,n){},"20dd":function(e,t,n){},"22f6":function(e,t,n){},2482:function(e,t,n){},2521:function(e,t,n){},"252c":function(e,t,n){"use strict";(function(e){function i(){var e=window.navigator.userAgent,t=e.indexOf("MSIE ");if(t>0)return parseInt(e.substring(t+5,e.indexOf(".",t)),10);var n=e.indexOf("Trident/");if(n>0){var i=e.indexOf("rv:");return parseInt(e.substring(i+3,e.indexOf(".",i)),10)}var a=e.indexOf("Edge/");return a>0?parseInt(e.substring(a+5,e.indexOf(".",a)),10):-1}n.d(t,"a",(function(){return r}));var a=void 0;function s(){s.init||(s.init=!0,a=-1!==i())}var r={render:function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"resize-observer",attrs:{tabindex:"-1"}})},staticRenderFns:[],_scopeId:"data-v-b329ee4c",name:"resize-observer",methods:{compareAndNotify:function(){this._w===this.$el.offsetWidth&&this._h===this.$el.offsetHeight||(this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.$emit("notify"))},addResizeHandlers:function(){this._resizeObject.contentDocument.defaultView.addEventListener("resize",this.compareAndNotify),this.compareAndNotify()},removeResizeHandlers:function(){this._resizeObject&&this._resizeObject.onload&&(!a&&this._resizeObject.contentDocument&&this._resizeObject.contentDocument.defaultView.removeEventListener("resize",this.compareAndNotify),delete this._resizeObject.onload)}},mounted:function(){var e=this;s(),this.$nextTick((function(){e._w=e.$el.offsetWidth,e._h=e.$el.offsetHeight}));var t=document.createElement("object");this._resizeObject=t,t.setAttribute("aria-hidden","true"),t.setAttribute("tabindex",-1),t.onload=this.addResizeHandlers,t.type="text/html",a&&this.$el.appendChild(t),t.data="about:blank",a||this.$el.appendChild(t)},beforeDestroy:function(){this.removeResizeHandlers()}};function o(e){e.component("resize-observer",r),e.component("ResizeObserver",r)}var l={version:"0.4.5",install:o},c=null;"undefined"!==typeof window?c=window.Vue:"undefined"!==typeof e&&(c=e.Vue),c&&c.use(l)}).call(this,n("c8ba"))},2591:function(e,t,n){"use strict";n("f6d7")},"260a":function(e,t,n){"use strict";n("9a8a")},"264a":function(e,t,n){},2822:function(e,t,n){"use strict";n("2521")},"2c54":function(e,t,n){},"2ca2":function(e,t,n){"use strict";n("98e2")},"2d12":function(e,t,n){"use strict";n("b324")},"2eeb":function(e,t,n){},"2f87":function(e,t,n){"use strict";n("b0a0")},3396:function(e,t,n){"use strict";n("cdce")},"367e":function(e,t,n){},3702:function(e,t,n){},"370f":function(e,t,n){},"374e":function(e,t,n){"use strict";n("0b72")},"37dc":function(e,t,n){},"39d3":function(e,t,n){"use strict";n("2c54")},"3c37":function(e,t,n){},"3d94":function(e,t,n){},"3e80":function(e,t,n){},4125:function(e,t,n){},"412b":function(e,t,n){},"45b2":function(e,t,n){"use strict";n("264a")},"464f":function(e,t,n){},"46c5":function(e,t,n){"use strict";n("dff0")},5079:function(e,t,n){},"509b":function(e,t,n){},"51f2":function(e,t,n){},5208:function(e,t,n){"use strict";n("3d94")},5228:function(e,t,n){},"533e":function(e,t,n){},5561:function(e,t,n){"use strict";n("a2cc")},"5a73":function(e,t,n){"use strict";n("f9c9")},"5c57":function(e,t,n){"use strict";n("f0ff")},"645a":function(e,t,n){},6513:function(e,t,n){},6742:function(e,t,n){},"6a35":function(e,t,n){"use strict";n("d436")},"6ca9":function(e,t,n){"use strict";n("8429")},"6d05":function(e,t,n){"use strict";n("d7f6")},"719b":function(e,t,n){"use strict";n("8b3c")},"72a9":function(e,t,n){"use strict";n("d551")},7309:function(e,t,n){"use strict";n("c227")},"73a8":function(e,t,n){"use strict";n("3c37")},7649:function(e,t,n){"use strict";n("37dc")},"7a2c":function(e,t,n){"use strict";n("c4c1")},8429:function(e,t,n){},"857c":function(e,t,n){"use strict";n("645a")},"85fe":function(e,t,n){"use strict";(function(e){function i(e){return i="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function r(e,t,n){return t&&s(e.prototype,t),n&&s(e,n),e}function o(e){return l(e)||c(e)||d()}function l(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t<e.length;t++)n[t]=e[t];return n}}function c(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}function d(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function u(e){var t;return t="function"===typeof e?{callback:e}:e,t}function h(e,t){var n,i,a,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=function(r){for(var l=arguments.length,c=new Array(l>1?l-1:0),d=1;d<l;d++)c[d-1]=arguments[d];if(a=c,!n||r!==i){var u=s.leading;"function"===typeof u&&(u=u(r,i)),n&&r===i||!u||e.apply(void 0,[r].concat(o(a))),i=r,clearTimeout(n),n=setTimeout((function(){e.apply(void 0,[r].concat(o(a))),n=0}),t)}};return r._clear=function(){clearTimeout(n),n=null},r}function p(e,t){if(e===t)return!0;if("object"===i(e)){for(var n in e)if(!p(e[n],t[n]))return!1;return!0}return!1}n.d(t,"a",(function(){return v}));var g=function(){function e(t,n,i){a(this,e),this.el=t,this.observer=null,this.frozen=!1,this.createObserver(n,i)}return r(e,[{key:"createObserver",value:function(e,t){var n=this;if(this.observer&&this.destroyObserver(),!this.frozen){if(this.options=u(e),this.callback=function(e,t){n.options.callback(e,t),e&&n.options.once&&(n.frozen=!0,n.destroyObserver())},this.callback&&this.options.throttle){var i=this.options.throttleOptions||{},a=i.leading;this.callback=h(this.callback,this.options.throttle,{leading:function(e){return"both"===a||"visible"===a&&e||"hidden"===a&&!e}})}this.oldResult=void 0,this.observer=new IntersectionObserver((function(e){var t=e[0];if(e.length>1){var i=e.find((function(e){return e.isIntersecting}));i&&(t=i)}if(n.callback){var a=t.isIntersecting&&t.intersectionRatio>=n.threshold;if(a===n.oldResult)return;n.oldResult=a,n.callback(a,t)}}),this.options.intersection),t.context.$nextTick((function(){n.observer&&n.observer.observe(n.el)}))}}},{key:"destroyObserver",value:function(){this.observer&&(this.observer.disconnect(),this.observer=null),this.callback&&this.callback._clear&&(this.callback._clear(),this.callback=null)}},{key:"threshold",get:function(){return this.options.intersection&&this.options.intersection.threshold||0}}]),e}();function f(e,t,n){var i=t.value;if(i)if("undefined"===typeof IntersectionObserver)console.warn("[vue-observe-visibility] IntersectionObserver API is not available in your browser. Please install this polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill");else{var a=new g(e,i,n);e._vue_visibilityState=a}}function m(e,t,n){var i=t.value,a=t.oldValue;if(!p(i,a)){var s=e._vue_visibilityState;i?s?s.createObserver(i,n):f(e,{value:i},n):y(e)}}function y(e){var t=e._vue_visibilityState;t&&(t.destroyObserver(),delete e._vue_visibilityState)}var v={bind:f,update:m,unbind:y};function b(e){e.directive("observe-visibility",v)}var T={version:"0.4.6",install:b},S=null;"undefined"!==typeof window?S=window.Vue:"undefined"!==typeof e&&(S=e.Vue),S&&S.use(T)}).call(this,n("c8ba"))},"8b3c":function(e,t,n){},"8e4d":function(e,t,n){"use strict";n("bdc3")},9475:function(e,t,n){"use strict";n("1fde")},"98e2":function(e,t,n){},"9a8a":function(e,t,n){},"9c7e":function(e,t,n){"use strict";n("5228")},"9c92":function(e,t,n){},"9cea":function(e,t,n){"use strict";n("a61f")},"9f0d":function(e,t,n){},"9f11":function(e,t,n){},"9f17":function(e,t,n){"use strict";n("6742")},a2cc:function(e,t,n){},a34a:function(e,t,n){"use strict";n("51f2")},a61f:function(e,t,n){},a7e9:function(e,t,n){},b0a0:function(e,t,n){},b324:function(e,t,n){},b32a:function(e,t,n){"use strict";n("3e80")},b39c:function(e,t,n){"use strict";n("18f4")},b831:function(e,t,n){"use strict";n("533e")},b857:function(e,t,n){"use strict";n("3702")},bdc3:function(e,t,n){},c1f5:function(e,t,n){"use strict";n("f4ae")},c227:function(e,t,n){},c4bc:function(e,t,n){"use strict";n("2eeb")},c4c1:function(e,t,n){},c61f:function(e,t,n){"use strict";n("509b")},c80b:function(e,t,n){"use strict";n("6513")},ca3d:function(e,t,n){"use strict";n("5079")},cb1f:function(e,t,n){"use strict";n("dd53")},cd88:function(e,t,n){},cdce:function(e,t,n){},d1ac:function(e,t,n){"use strict";n("9f11")},d1b4:function(e,t,n){"use strict";n("4125")},d436:function(e,t,n){},d551:function(e,t,n){},d71b:function(e,t,n){"use strict";n("9f0d")},d7f6:function(e,t,n){},dd53:function(e,t,n){},dfa5:function(e,t,n){"use strict";n("2482")},dff0:function(e,t,n){},e47c:function(e,t,n){"use strict";n("cd88")},e508:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return L})),n.d(t,"b",(function(){return M})),n.d(t,"c",(function(){return z}));var i=n("252c"),a=n("85fe"),s=n("ed83"),r=n.n(s),o=n("2b0e"),l={itemsLimit:1e3};const c={items:{type:Array,required:!0},keyField:{type:String,default:"id"},direction:{type:String,default:"vertical",validator:e=>["vertical","horizontal"].includes(e)},listTag:{type:String,default:"div"},itemTag:{type:String,default:"div"}};function d(){return this.items.length&&"object"!==typeof this.items[0]}let u=!1;if("undefined"!==typeof window){u=!1;try{var h=Object.defineProperty({},"passive",{get(){u=!0}});window.addEventListener("test",null,h)}catch(H){}}let p=0;var g={name:"RecycleScroller",components:{ResizeObserver:i["a"]},directives:{ObserveVisibility:a["a"]},props:{...c,itemSize:{type:Number,default:null},gridItems:{type:Number,default:void 0},itemSecondarySize:{type:Number,default:void 0},minItemSize:{type:[Number,String],default:null},sizeField:{type:String,default:"size"},typeField:{type:String,default:"type"},buffer:{type:Number,default:200},pageMode:{type:Boolean,default:!1},prerender:{type:Number,default:0},emitUpdate:{type:Boolean,default:!1},skipHover:{type:Boolean,default:!1},listTag:{type:String,default:"div"},itemTag:{type:String,default:"div"},listClass:{type:[String,Object,Array],default:""},itemClass:{type:[String,Object,Array],default:""}},data(){return{pool:[],totalSize:0,ready:!1,hoverKey:null}},computed:{sizes(){if(null===this.itemSize){const e={"-1":{accumulator:0}},t=this.items,n=this.sizeField,i=this.minItemSize;let a,s=1e4,r=0;for(let o=0,l=t.length;o<l;o++)a=t[o][n]||i,a<s&&(s=a),r+=a,e[o]={accumulator:r,size:a};return this.$_computedMinItemSize=s,e}return[]},simpleArray:d},watch:{items(){this.updateVisibleItems(!0)},pageMode(){this.applyPageMode(),this.updateVisibleItems(!1)},sizes:{handler(){this.updateVisibleItems(!1)},deep:!0},gridItems(){this.updateVisibleItems(!0)},itemSecondarySize(){this.updateVisibleItems(!0)}},created(){this.$_startIndex=0,this.$_endIndex=0,this.$_views=new Map,this.$_unusedViews=new Map,this.$_scrollDirty=!1,this.$_lastUpdateScrollPosition=0,this.prerender&&(this.$_prerender=!0,this.updateVisibleItems(!1)),this.gridItems&&!this.itemSize&&console.error("[vue-recycle-scroller] You must provide an itemSize when using gridItems")},mounted(){this.applyPageMode(),this.$nextTick(()=>{this.$_prerender=!1,this.updateVisibleItems(!0),this.ready=!0})},activated(){const e=this.$_lastUpdateScrollPosition;"number"===typeof e&&this.$nextTick(()=>{this.scrollToPosition(e)})},beforeDestroy(){this.removeListeners()},methods:{addView(e,t,n,i,a){const s={item:n,position:0},r={id:p++,index:t,used:!0,key:i,type:a};return Object.defineProperty(s,"nr",{configurable:!1,value:r}),e.push(s),s},unuseView(e,t=!1){const n=this.$_unusedViews,i=e.nr.type;let a=n.get(i);a||(a=[],n.set(i,a)),a.push(e),t||(e.nr.used=!1,e.position=-9999,this.$_views.delete(e.nr.key))},handleResize(){this.$emit("resize"),this.ready&&this.updateVisibleItems(!1)},handleScroll(e){this.$_scrollDirty||(this.$_scrollDirty=!0,requestAnimationFrame(()=>{this.$_scrollDirty=!1;const{continuous:e}=this.updateVisibleItems(!1,!0);e||(clearTimeout(this.$_refreshTimout),this.$_refreshTimout=setTimeout(this.handleScroll,100))}))},handleVisibilityChange(e,t){this.ready&&(e||0!==t.boundingClientRect.width||0!==t.boundingClientRect.height?(this.$emit("visible"),requestAnimationFrame(()=>{this.updateVisibleItems(!1)})):this.$emit("hidden"))},updateVisibleItems(e,t=!1){const n=this.itemSize,i=this.gridItems||1,a=this.itemSecondarySize||n,s=this.$_computedMinItemSize,r=this.typeField,o=this.simpleArray?null:this.keyField,c=this.items,d=c.length,u=this.sizes,h=this.$_views,p=this.$_unusedViews,g=this.pool;let f,m,y,v,b,T;if(d)if(this.$_prerender)f=v=0,m=b=Math.min(this.prerender,c.length),y=null;else{const e=this.getScroll();if(t){let t=e.start-this.$_lastUpdateScrollPosition;if(t<0&&(t=-t),null===n&&t<s||t<n)return{continuous:!0}}this.$_lastUpdateScrollPosition=e.start;const a=this.buffer;e.start-=a,e.end+=a;let r=0;if(this.$refs.before&&(r=this.$refs.before.scrollHeight,e.start-=r),this.$refs.after){const t=this.$refs.after.scrollHeight;e.end+=t}if(null===n){let t,n,i=0,a=d-1,s=~~(d/2);do{n=s,t=u[s].accumulator,t<e.start?i=s:s<d-1&&u[s+1].accumulator>e.start&&(a=s),s=~~((i+a)/2)}while(s!==n);for(s<0&&(s=0),f=s,y=u[d-1].accumulator,m=s;m<d&&u[m].accumulator<e.end;m++);for(-1===m?m=c.length-1:(m++,m>d&&(m=d)),v=f;v<d&&r+u[v].accumulator<e.start;v++);for(b=v;b<d&&r+u[b].accumulator<e.end;b++);}else{f=~~(e.start/n*i);const t=f%i;f-=t,m=Math.ceil(e.end/n*i),v=Math.max(0,Math.floor((e.start-r)/n*i)),b=Math.floor((e.end-r)/n*i),f<0&&(f=0),m>d&&(m=d),v<0&&(v=0),b>d&&(b=d),y=Math.ceil(d/i)*n}}else f=m=v=b=y=0;m-f>l.itemsLimit&&this.itemsLimitError(),this.totalSize=y;const S=f<=this.$_endIndex&&m>=this.$_startIndex;if(this.$_continuous!==S){if(S){h.clear(),p.clear();for(let e=0,t=g.length;e<t;e++)T=g[e],this.unuseView(T)}this.$_continuous=S}else if(S)for(let l=0,x=g.length;l<x;l++)T=g[l],T.nr.used&&(e&&(T.nr.index=c.indexOf(T.item)),(-1===T.nr.index||T.nr.index<f||T.nr.index>=m)&&this.unuseView(T));const _=S?null:new Map;let C,k,w,I;for(let l=f;l<m;l++){C=c[l];const e=o?C[o]:C;if(null==e)throw new Error(`Key is ${e} on item (keyField is '${o}')`);T=h.get(e),n||u[l].size?(T?(T.nr.used=!0,T.item=C):(l===c.length-1&&this.$emit("scroll-end"),0===l&&this.$emit("scroll-start"),k=C[r],w=p.get(k),S?w&&w.length?(T=w.pop(),T.item=C,T.nr.used=!0,T.nr.index=l,T.nr.key=e,T.nr.type=k):T=this.addView(g,l,C,e,k):(I=_.get(k)||0,(!w||I>=w.length)&&(T=this.addView(g,l,C,e,k),this.unuseView(T,!0),w=p.get(k)),T=w[I],T.item=C,T.nr.used=!0,T.nr.index=l,T.nr.key=e,T.nr.type=k,_.set(k,I+1),I++),h.set(e,T)),null===n?(T.position=u[l-1].accumulator,T.offset=0):(T.position=Math.floor(l/i)*n,T.offset=l%i*a)):T&&this.unuseView(T)}return this.$_startIndex=f,this.$_endIndex=m,this.emitUpdate&&this.$emit("update",f,m,v,b),clearTimeout(this.$_sortTimer),this.$_sortTimer=setTimeout(this.sortViews,300),{continuous:S}},getListenerTarget(){let e=r()(this.$el);return!window.document||e!==window.document.documentElement&&e!==window.document.body||(e=window),e},getScroll(){const{$el:e,direction:t}=this,n="vertical"===t;let i;if(this.pageMode){const t=e.getBoundingClientRect(),a=n?t.height:t.width;let s=-(n?t.top:t.left),r=n?window.innerHeight:window.innerWidth;s<0&&(r+=s,s=0),s+r>a&&(r=a-s),i={start:s,end:s+r}}else i=n?{start:e.scrollTop,end:e.scrollTop+e.clientHeight}:{start:e.scrollLeft,end:e.scrollLeft+e.clientWidth};return i},applyPageMode(){this.pageMode?this.addListeners():this.removeListeners()},addListeners(){this.listenerTarget=this.getListenerTarget(),this.listenerTarget.addEventListener("scroll",this.handleScroll,!!u&&{passive:!0}),this.listenerTarget.addEventListener("resize",this.handleResize)},removeListeners(){this.listenerTarget&&(this.listenerTarget.removeEventListener("scroll",this.handleScroll),this.listenerTarget.removeEventListener("resize",this.handleResize),this.listenerTarget=null)},scrollToItem(e){let t;t=null===this.itemSize?e>0?this.sizes[e-1].accumulator:0:Math.floor(e/this.gridItems)*this.itemSize,this.scrollToPosition(t)},scrollToPosition(e){const t="vertical"===this.direction?{scroll:"scrollTop",start:"top"}:{scroll:"scrollLeft",start:"left"};let n,i,a;if(this.pageMode){const s=r()(this.$el),o="HTML"===s.tagName?0:s[t.scroll],l=s.getBoundingClientRect(),c=this.$el.getBoundingClientRect(),d=c[t.start]-l[t.start];n=s,i=t.scroll,a=e+o+d}else n=this.$el,i=t.scroll,a=e;n[i]=a},itemsLimitError(){throw setTimeout(()=>{console.log("It seems the scroller element isn't scrolling, so it tries to render all the items at once.","Scroller:",this.$el),console.log("Make sure the scroller has a fixed height (or width) and 'overflow-y' (or 'overflow-x') set to 'auto' so it can scroll correctly and only render the items visible in the scroll viewport.")}),new Error("Rendered items limit reached")},sortViews(){this.pool.sort((e,t)=>e.nr.index-t.nr.index)}}};function f(e,t,n,i,a,s,r,o,l,c){"boolean"!==typeof r&&(l=o,o=r,r=!1);const d="function"===typeof n?n.options:n;let u;if(e&&e.render&&(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,a&&(d.functional=!0)),i&&(d._scopeId=i),s?(u=function(e){e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,e||"undefined"===typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),t&&t.call(this,l(e)),e&&e._registeredComponents&&e._registeredComponents.add(s)},d._ssrRegister=u):t&&(u=r?function(e){t.call(this,c(e,this.$root.$options.shadowRoot))}:function(e){t.call(this,o(e))}),u)if(d.functional){const e=d.render;d.render=function(t,n){return u.call(n),e(t,n)}}else{const e=d.beforeCreate;d.beforeCreate=e?[].concat(e,u):[u]}return n}const m=g;var y=function(){var e,t,n=this,i=n.$createElement,a=n._self._c||i;return a("div",{directives:[{name:"observe-visibility",rawName:"v-observe-visibility",value:n.handleVisibilityChange,expression:"handleVisibilityChange"}],staticClass:"vue-recycle-scroller",class:(e={ready:n.ready,"page-mode":n.pageMode},e["direction-"+n.direction]=!0,e),on:{"&scroll":function(e){return n.handleScroll.apply(null,arguments)}}},[n.$slots.before?a("div",{ref:"before",staticClass:"vue-recycle-scroller__slot"},[n._t("before")],2):n._e(),n._v(" "),a(n.listTag,{ref:"wrapper",tag:"component",staticClass:"vue-recycle-scroller__item-wrapper",class:n.listClass,style:(t={},t["vertical"===n.direction?"minHeight":"minWidth"]=n.totalSize+"px",t)},[n._l(n.pool,(function(e){return a(n.itemTag,n._g({key:e.nr.id,tag:"component",staticClass:"vue-recycle-scroller__item-view",class:[n.itemClass,{hover:!n.skipHover&&n.hoverKey===e.nr.key}],style:n.ready?{transform:"translate"+("vertical"===n.direction?"Y":"X")+"("+e.position+"px) translate"+("vertical"===n.direction?"X":"Y")+"("+e.offset+"px)",width:n.gridItems?("vertical"===n.direction&&n.itemSecondarySize||n.itemSize)+"px":void 0,height:n.gridItems?("horizontal"===n.direction&&n.itemSecondarySize||n.itemSize)+"px":void 0}:null},n.skipHover?{}:{mouseenter:function(){n.hoverKey=e.nr.key},mouseleave:function(){n.hoverKey=null}}),[n._t("default",null,{item:e.item,index:e.nr.index,active:e.nr.used})],2)})),n._v(" "),n._t("empty")],2),n._v(" "),n.$slots.after?a("div",{ref:"after",staticClass:"vue-recycle-scroller__slot"},[n._t("after")],2):n._e(),n._v(" "),a("ResizeObserver",{on:{notify:n.handleResize}})],1)},v=[];y._withStripped=!0;const b=void 0,T=void 0,S=void 0,_=!1,C=f({render:y,staticRenderFns:v},b,m,T,_,S,!1,void 0,void 0,void 0);var k={name:"DynamicScroller",components:{RecycleScroller:C},provide(){return"undefined"!==typeof ResizeObserver&&(this.$_resizeObserver=new ResizeObserver(e=>{requestAnimationFrame(()=>{if(Array.isArray(e))for(const t of e)if(t.target){const e=new CustomEvent("resize",{detail:{contentRect:t.contentRect}});t.target.dispatchEvent(e)}})})),{vscrollData:this.vscrollData,vscrollParent:this,vscrollResizeObserver:this.$_resizeObserver}},inheritAttrs:!1,props:{...c,minItemSize:{type:[Number,String],required:!0}},data(){return{vscrollData:{active:!0,sizes:{},validSizes:{},keyField:this.keyField,simpleArray:!1}}},computed:{simpleArray:d,itemsWithSize(){const e=[],{items:t,keyField:n,simpleArray:i}=this,a=this.vscrollData.sizes,s=t.length;for(let r=0;r<s;r++){const s=t[r],o=i?r:s[n];let l=a[o];"undefined"!==typeof l||this.$_undefinedMap[o]||(l=0),e.push({item:s,id:o,size:l})}return e},listeners(){const e={};for(const t in this.$listeners)"resize"!==t&&"visible"!==t&&(e[t]=this.$listeners[t]);return e}},watch:{items(){this.forceUpdate(!1)},simpleArray:{handler(e){this.vscrollData.simpleArray=e},immediate:!0},direction(e){this.forceUpdate(!0)},itemsWithSize(e,t){const n=this.$el.scrollTop;let i=0,a=0;const s=Math.min(e.length,t.length);for(let o=0;o<s;o++){if(i>=n)break;i+=t[o].size||this.minItemSize,a+=e[o].size||this.minItemSize}const r=a-i;0!==r&&(this.$el.scrollTop+=r)}},beforeCreate(){this.$_updates=[],this.$_undefinedSizes=0,this.$_undefinedMap={}},activated(){this.vscrollData.active=!0},deactivated(){this.vscrollData.active=!1},methods:{onScrollerResize(){const e=this.$refs.scroller;e&&this.forceUpdate(),this.$emit("resize")},onScrollerVisible(){this.$emit("vscroll:update",{force:!1}),this.$emit("visible")},forceUpdate(e=!0){(e||this.simpleArray)&&(this.vscrollData.validSizes={}),this.$emit("vscroll:update",{force:!0})},scrollToItem(e){const t=this.$refs.scroller;t&&t.scrollToItem(e)},getItemSize(e,t){const n=this.simpleArray?null!=t?t:this.items.indexOf(e):e[this.keyField];return this.vscrollData.sizes[n]||0},scrollToBottom(){if(this.$_scrollingToBottom)return;this.$_scrollingToBottom=!0;const e=this.$el;this.$nextTick(()=>{e.scrollTop=e.scrollHeight+5e3;const t=()=>{e.scrollTop=e.scrollHeight+5e3,requestAnimationFrame(()=>{e.scrollTop=e.scrollHeight+5e3,0===this.$_undefinedSizes?this.$_scrollingToBottom=!1:requestAnimationFrame(t)})};requestAnimationFrame(t)})}}};const w=k;var I=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("RecycleScroller",e._g(e._b({ref:"scroller",attrs:{items:e.itemsWithSize,"min-item-size":e.minItemSize,direction:e.direction,"key-field":"id","list-tag":e.listTag,"item-tag":e.itemTag},on:{resize:e.onScrollerResize,visible:e.onScrollerVisible},scopedSlots:e._u([{key:"default",fn:function(t){var n=t.item,i=t.index,a=t.active;return[e._t("default",null,null,{item:n.item,index:i,active:a,itemWithSize:n})]}}],null,!0)},"RecycleScroller",e.$attrs,!1),e.listeners),[e._v(" "),n("template",{slot:"before"},[e._t("before")],2),e._v(" "),n("template",{slot:"after"},[e._t("after")],2),e._v(" "),n("template",{slot:"empty"},[e._t("empty")],2)],2)},x=[];I._withStripped=!0;const $=void 0,O=void 0,D=void 0,P=!1,L=f({render:I,staticRenderFns:x},$,w,O,P,D,!1,void 0,void 0,void 0);var A={name:"DynamicScrollerItem",inject:["vscrollData","vscrollParent","vscrollResizeObserver"],props:{item:{required:!0},watchData:{type:Boolean,default:!1},active:{type:Boolean,required:!0},index:{type:Number,default:void 0},sizeDependencies:{type:[Array,Object],default:null},emitResize:{type:Boolean,default:!1},tag:{type:String,default:"div"}},computed:{id(){if(this.vscrollData.simpleArray)return this.index;if(this.item.hasOwnProperty(this.vscrollData.keyField))return this.item[this.vscrollData.keyField];throw new Error(`keyField '${this.vscrollData.keyField}' not found in your item. You should set a valid keyField prop on your Scroller`)},size(){return this.vscrollData.validSizes[this.id]&&this.vscrollData.sizes[this.id]||0},finalActive(){return this.active&&this.vscrollData.active}},watch:{watchData:"updateWatchData",id(){this.size||this.onDataUpdate()},finalActive(e){this.size||(e?this.vscrollParent.$_undefinedMap[this.id]||(this.vscrollParent.$_undefinedSizes++,this.vscrollParent.$_undefinedMap[this.id]=!0):this.vscrollParent.$_undefinedMap[this.id]&&(this.vscrollParent.$_undefinedSizes--,this.vscrollParent.$_undefinedMap[this.id]=!1)),this.vscrollResizeObserver?e?this.observeSize():this.unobserveSize():e&&this.$_pendingVScrollUpdate===this.id&&this.updateSize()}},created(){if(!this.$isServer&&(this.$_forceNextVScrollUpdate=null,this.updateWatchData(),!this.vscrollResizeObserver)){for(const e in this.sizeDependencies)this.$watch(()=>this.sizeDependencies[e],this.onDataUpdate);this.vscrollParent.$on("vscroll:update",this.onVscrollUpdate),this.vscrollParent.$on("vscroll:update-size",this.onVscrollUpdateSize)}},mounted(){this.vscrollData.active&&(this.updateSize(),this.observeSize())},beforeDestroy(){this.vscrollParent.$off("vscroll:update",this.onVscrollUpdate),this.vscrollParent.$off("vscroll:update-size",this.onVscrollUpdateSize),this.unobserveSize()},methods:{updateSize(){this.finalActive?this.$_pendingSizeUpdate!==this.id&&(this.$_pendingSizeUpdate=this.id,this.$_forceNextVScrollUpdate=null,this.$_pendingVScrollUpdate=null,this.computeSize(this.id)):this.$_forceNextVScrollUpdate=this.id},updateWatchData(){this.watchData&&!this.vscrollResizeObserver?this.$_watchData=this.$watch("item",()=>{this.onDataUpdate()},{deep:!0}):this.$_watchData&&(this.$_watchData(),this.$_watchData=null)},onVscrollUpdate({force:e}){!this.finalActive&&e&&(this.$_pendingVScrollUpdate=this.id),this.$_forceNextVScrollUpdate!==this.id&&!e&&this.size||this.updateSize()},onDataUpdate(){this.updateSize()},computeSize(e){this.$nextTick(()=>{if(this.id===e){const e=this.$el.offsetWidth,t=this.$el.offsetHeight;this.applySize(e,t)}this.$_pendingSizeUpdate=null})},applySize(e,t){const n=~~("vertical"===this.vscrollParent.direction?t:e);n&&this.size!==n&&(this.vscrollParent.$_undefinedMap[this.id]&&(this.vscrollParent.$_undefinedSizes--,this.vscrollParent.$_undefinedMap[this.id]=void 0),this.$set(this.vscrollData.sizes,this.id,n),this.$set(this.vscrollData.validSizes,this.id,!0),this.emitResize&&this.$emit("resize",this.id))},observeSize(){this.vscrollResizeObserver&&this.$el.parentNode&&(this.vscrollResizeObserver.observe(this.$el.parentNode),this.$el.parentNode.addEventListener("resize",this.onResize))},unobserveSize(){this.vscrollResizeObserver&&(this.vscrollResizeObserver.unobserve(this.$el.parentNode),this.$el.parentNode.removeEventListener("resize",this.onResize))},onResize(e){const{width:t,height:n}=e.detail.contentRect;this.applySize(t,n)}},render(e){return e(this.tag,this.$slots.default)}};const N=A,E=void 0,j=void 0,B=void 0,R=void 0,M=f({},E,N,j,R,B,!1,void 0,void 0,void 0);function z({idProp:e=(e=>e.item.id)}={}){const t={},n=new o["default"]({data(){return{store:t}}});return{data(){return{idState:null}},created(){this.$_id=null,this.$_getId="function"===typeof e?()=>e.call(this,this):()=>this[e],this.$watch(this.$_getId,{handler(e){this.$nextTick(()=>{this.$_id=e})},immediate:!0}),this.$_updateIdState()},beforeUpdate(){this.$_updateIdState()},methods:{$_idStateInit(e){const i=this.$options.idState;if("function"===typeof i){const a=i.call(this,this);return n.$set(t,e,a),this.$_id=e,a}throw new Error("[mixin IdState] Missing `idState` function on component definition.")},$_updateIdState(){const n=this.$_getId();null==n&&console.warn(`No id found for IdState with idProp: '${e}'.`),n!==this.$_id&&(t[n]||this.$_idStateInit(n),this.idState=t[n])}}}}function K(e,t){e.component(t+"recycle-scroller",C),e.component(t+"RecycleScroller",C),e.component(t+"dynamic-scroller",L),e.component(t+"DynamicScroller",L),e.component(t+"dynamic-scroller-item",M),e.component(t+"DynamicScrollerItem",M)}const q={version:"1.1.2",install(e,t){const n=Object.assign({},{installComponents:!0,componentsPrefix:""},t);for(const i in n)"undefined"!==typeof n[i]&&(l[i]=n[i]);n.installComponents&&K(e,n.componentsPrefix)}};let F=null;"undefined"!==typeof window?F=window.Vue:"undefined"!==typeof e&&(F=e.Vue),F&&F.use(q)}).call(this,n("c8ba"))},e615:function(e,t,n){"use strict";n("14d4")},e81e:function(e,t,n){"use strict";n("370f")},eb6d:function(e,t,n){"use strict";n("9c92")},ed83:function(e,t,n){var i,a,s;(function(n,r){a=[],i=r,s="function"===typeof i?i.apply(t,a):i,void 0===s||(e.exports=s)})(0,(function(){var e=/(auto|scroll)/,t=function(e,n){return null===e.parentNode?n:t(e.parentNode,n.concat([e]))},n=function(e,t){return getComputedStyle(e,null).getPropertyValue(t)},i=function(e){return n(e,"overflow")+n(e,"overflow-y")+n(e,"overflow-x")},a=function(t){return e.test(i(t))},s=function(e){if(e instanceof HTMLElement||e instanceof SVGElement){for(var n=t(e.parentNode,[]),i=0;i<n.length;i+=1)if(a(n[i]))return n[i];return document.scrollingElement||document.documentElement}};return s}))},ede5:function(e,t,n){"use strict";n("f679")},f055:function(e,t,n){"use strict";n("464f")},f0ff:function(e,t,n){},f4ae:function(e,t,n){},f679:function(e,t,n){},f6d7:function(e,t,n){},f7c0:function(e,t,n){"use strict";n("22f6")},f8ac:function(e,t,n){"use strict";n.r(t);var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("CodeTheme",{staticClass:"doc-topic-view"},[e.topicData?[n(e.enableNavigator?"AdjustableSidebarWidth":"StaticContentWidth",e._g(e._b({tag:"component",staticClass:"full-width-container topic-wrapper",scopedSlots:e._u([{key:"aside",fn:function(t){var i=t.scrollLockID,a=t.breakpoint;return[n("NavigatorDataProvider",{ref:"NavigatorDataProvider",attrs:{"interface-language":e.topicProps.interfaceLanguage,technologyUrl:e.technology.url,"api-changes-version":e.store.state.selectedAPIChangesVersion},scopedSlots:e._u([{key:"default",fn:function(t){return[n("div",{staticClass:"doc-topic-aside"},[e.enableQuickNavigation?n("QuickNavigationModal",{attrs:{children:t.flatChildren,showQuickNavigationModal:e.showQuickNavigationModal,technology:e.technology.title},on:{"update:showQuickNavigationModal":function(t){e.showQuickNavigationModal=t},"update:show-quick-navigation-modal":function(t){e.showQuickNavigationModal=t}}}):e._e(),n("transition",{attrs:{name:"delay-hiding"}},[n("Navigator",{directives:[{name:"show",rawName:"v-show",value:e.sidenavVisibleOnMobile||a===e.BreakpointName.large,expression:"sidenavVisibleOnMobile || breakpoint === BreakpointName.large"}],attrs:{flatChildren:t.flatChildren,"parent-topic-identifiers":e.parentTopicIdentifiers,technology:t.technology||e.technology,"is-fetching":t.isFetching,"error-fetching":t.errorFetching,"api-changes":t.apiChanges,references:e.topicProps.references,"navigator-references":t.references,scrollLockID:i,"render-filter-on-top":a!==e.BreakpointName.large},on:{close:function(t){return e.handleToggleSidenav(a)}},scopedSlots:e._u([e.enableQuickNavigation?{key:"filter",fn:function(){return[n("QuickNavigationButton",{nativeOn:{click:function(t){return e.openQuickNavigationModal.apply(null,arguments)}}})]},proxy:!0}:null],null,!0)})],1)],1)]}}],null,!0)})]}}],null,!1,2308467884)},"component",e.sidebarProps,!1),e.sidebarListeners),[n("PortalTarget",{attrs:{name:"modal-destination",multiple:""}}),e.isTargetIDE?e._e():n("Nav",{attrs:{title:e.topicProps.title,diffAvailability:e.topicProps.diffAvailability,interfaceLanguage:e.topicProps.interfaceLanguage,objcPath:e.objcPath,swiftPath:e.swiftPath,parentTopicIdentifiers:e.parentTopicIdentifiers,isSymbolDeprecated:e.isSymbolDeprecated,isSymbolBeta:e.isSymbolBeta,currentTopicTags:e.topicProps.tags,references:e.topicProps.references,displaySidenav:e.enableNavigator,sidenavHiddenOnLarge:e.sidenavHiddenOnLarge},on:{"toggle-sidenav":e.handleToggleSidenav}}),n("Topic",e._b({key:e.topicKey,attrs:{objcPath:e.objcPath,swiftPath:e.swiftPath,isSymbolDeprecated:e.isSymbolDeprecated,isSymbolBeta:e.isSymbolBeta,languagePaths:e.languagePaths,enableOnThisPageNav:e.enableOnThisPageNav,enableMinimized:e.enableMinimized}},"Topic",e.topicProps,!1))],1)]:e._e()],2)},a=[];const s="/";function r(e){return e.replace(/~[0,1]/g,e=>({"~0":"~","~1":"/"}[e]||e))}function*o(e){const t=1;if(e.length<t||e.charAt(0)!==s)return;let n="",i=t;while(i<e.length){const t=e.charAt(i);t===s?(yield r(n),n=""):n+=t,i+=1}yield r(n)}const l=10,c="-",d="object";class u extends Error{constructor(e){super("invalid pointer "+e),this.pointer=e}}function h(e,{length:t}){if(e===c)return t||0;const n=parseInt(e,l);if(!Number.isInteger(n)||n>t)throw new Error("invalid array index "+e);return n}function*p(e,t,n={strict:!1}){let i=e;for(const a of o(t)){if(n.strict&&!Object.prototype.hasOwnProperty.call(i,a))throw new u(t);i=i[a],yield{node:i,token:a}}}function g(e,t){let n=e;for(const{node:i}of p(e,t,{strict:!0}))n=i;return n}function f(e,t,n){let i=null,a=e,s=null;for(const{node:o,token:l}of p(e,t))i=a,a=o,s=l;if(!i)throw new u(t);if(Array.isArray(i))try{const e=h(s,i);i.splice(e,0,n)}catch(r){throw new u(t)}else Object.assign(i,{[s]:n});return e}function m(e,t){let n=null,i=e,a=null;for(const{node:r,token:o}of p(e,t))n=i,i=r,a=o;if(!n)throw new u(t);if(Array.isArray(n))try{const e=h(a,n);n.splice(e,1)}catch(s){throw new u(t)}else{if(!i)throw new u(t);delete n[a]}return e}function y(e,t,n){return m(e,t),f(e,t,n),e}function v(e,t,n){const i=g(e,t);return m(e,t),f(e,n,i),e}function b(e,t,n){return f(e,n,g(e,t)),e}function T(e,t,n){function i(e,t){const n=typeof e,a=typeof t;if(n!==a)return!1;switch(n){case d:{const n=Object.keys(e),a=Object.keys(t);return n.length===a.length&&n.every((n,s)=>n===a[s]&&i(e[n],t[n]))}default:return e===t}}const a=g(e,t);if(!i(n,a))throw new Error("test failed");return e}const S={add:(e,{path:t,value:n})=>f(e,t,n),copy:(e,{from:t,path:n})=>b(e,t,n),move:(e,{from:t,path:n})=>v(e,t,n),remove:(e,{path:t})=>m(e,t),replace:(e,{path:t,value:n})=>y(e,t,n),test:(e,{path:t,value:n})=>T(e,t,n)};function _(e,{op:t,...n}){const i=S[t];if(!i)throw new Error("unknown operation");return i(e,n)}function C(e,t){return t.reduce(_,e)}var k=n("66cd"),w=n("25a9"),I=n("2b88"),x=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"doc-topic",class:{"with-on-this-page":e.enableOnThisPageNav&&e.isOnThisPageNavVisible}},[n(e.isTargetIDE?"div":"main",{tag:"component",staticClass:"main",attrs:{id:"main"}},[n("DocumentationHero",{attrs:{role:e.role,enhanceBackground:e.enhanceBackground,enableMinimized:e.enableMinimized,shortHero:e.shortHero,shouldShowLanguageSwitcher:e.shouldShowLanguageSwitcher,iconOverride:e.references[e.pageIcon],standardColorIdentifier:e.standardColorIdentifier},scopedSlots:e._u([{key:"above-content",fn:function(){return[e._t("above-hero-content")]},proxy:!0}],null,!0)},[e._t("above-title"),e.shouldShowLanguageSwitcher?n("LanguageSwitcher",{attrs:{interfaceLanguage:e.interfaceLanguage,objcPath:e.objcPath,swiftPath:e.swiftPath}}):e._e(),n("Title",{class:{"minimized-title":e.enableMinimized},attrs:{eyebrow:e.enableMinimized?null:e.roleHeading}},[n(e.titleBreakComponent,{tag:"component"},[e._v(e._s(e.title))]),e.isSymbolDeprecated||e.isSymbolBeta?n("small",{class:e.tagName,attrs:{slot:"after","data-tag-name":e.tagName},slot:"after"}):e._e()],1),e.abstract?n("Abstract",{class:{"minimized-abstract":e.enableMinimized},attrs:{content:e.abstract}}):e._e(),e.sampleCodeDownload?n("div",[n("DownloadButton",{staticClass:"sample-download",attrs:{action:e.sampleCodeDownload.action}})],1):e._e(),e.shouldShowAvailability?n("Availability",{attrs:{platforms:e.platforms,technologies:e.technologies}}):e._e(),e.declarations.length?n("div",{staticClass:"declarations-container",class:{"minimized-container":e.enableMinimized}},e._l(e.declarations,(function(t,i){return n("Declaration",{key:i,attrs:{conformance:e.conformance,declarations:t.declarations,source:e.remoteSource}})})),1):e._e()],2),n("div",{staticClass:"doc-content-wrapper"},[n("div",{staticClass:"doc-content",class:{"no-primary-content":!e.hasPrimaryContent&&e.enhanceBackground}},[e.hasPrimaryContent?n("div",{class:["container",{"minimized-container":e.enableMinimized}]},[n("div",{staticClass:"description",class:{"after-enhanced-hero":e.enhanceBackground}},[e.isRequirement?n("RequirementMetadata",{attrs:{defaultImplementationsCount:e.defaultImplementationsCount}}):e._e(),e.deprecationSummary&&e.deprecationSummary.length?n("Aside",{attrs:{kind:"deprecated"}},[n("ContentNode",{attrs:{content:e.deprecationSummary}})],1):e._e(),e.downloadNotAvailableSummary&&e.downloadNotAvailableSummary.length?n("Aside",{attrs:{kind:"note"}},[n("ContentNode",{attrs:{content:e.downloadNotAvailableSummary}})],1):e._e()],1),e.primaryContentSectionsSanitized&&e.primaryContentSectionsSanitized.length?n("PrimaryContent",{class:{"with-border":!e.enhanceBackground},attrs:{conformance:e.conformance,source:e.remoteSource,sections:e.primaryContentSectionsSanitized}}):e._e(),e.shouldShowViewMoreLink?n("ViewMore",{attrs:{url:e.viewMoreLink}}):e._e()],1):e._e(),e.shouldRenderTopicSection?n("Topics",{attrs:{sections:e.topicSections,isSymbolDeprecated:e.isSymbolDeprecated,isSymbolBeta:e.isSymbolBeta,topicStyle:e.topicSectionsStyle}}):e._e(),e.defaultImplementationsSections&&!e.enableMinimized?n("DefaultImplementations",{attrs:{sections:e.defaultImplementationsSections,isSymbolDeprecated:e.isSymbolDeprecated,isSymbolBeta:e.isSymbolBeta}}):e._e(),e.relationshipsSections&&!e.enableMinimized?n("Relationships",{attrs:{sections:e.relationshipsSections}}):e._e(),e.seeAlsoSections&&!e.enableMinimized?n("SeeAlso",{attrs:{sections:e.seeAlsoSections}}):e._e()],1),e.enableOnThisPageNav?[n("OnThisPageStickyContainer",{directives:[{name:"show",rawName:"v-show",value:e.isOnThisPageNavVisible,expression:"isOnThisPageNavVisible"}]},[e.topicState.onThisPageSections.length>2?n("OnThisPageNav"):e._e()],1)]:e._e()],2),!e.isTargetIDE&&e.hasBetaContent?n("BetaLegalText"):e._e()],1),n("div",{staticClass:"visuallyhidden",attrs:{"aria-live":"polite"}},[e._v(" "+e._s(e.$t("documentation.current-page",{title:e.pageTitle}))+" ")])],1)},$=[],O=n("8649"),D=n("bf08"),P=n("d26a"),L=n("748c"),A=n("e425"),N=n("e3ab"),E=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"betainfo"},[n("div",{staticClass:"betainfo-container"},[n("GridRow",[n("GridColumn",{attrs:{span:{large:12}}},[n("p",{staticClass:"betainfo-label"},[e._v(e._s(e.$t("metadata.beta.software")))]),n("div",{staticClass:"betainfo-content"},[e._t("content",(function(){return[n("p",[e._v(e._s(e.$t("metadata.beta.legal")))])]}))],2),e._t("after")],2)],1)],1)])},j=[],B=n("0f00"),R=n("620a"),M={name:"BetaLegalText",components:{GridColumn:R["a"],GridRow:B["a"]}},z=M,K=(n("9cea"),n("2877")),q=Object(K["a"])(z,E,j,!1,null,"e8fd2a92",null),F=q.exports,H=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("Section",{staticClass:"language",attrs:{role:"complementary","aria-label":e.$t("language")}},[n("Title",[e._v(e._s(e.$t("formats.colon",{content:e.$t("language")})))]),n("div",{staticClass:"language-list"},[n("LanguageSwitcherLink",{staticClass:"language-option swift",class:{active:e.swift.active},attrs:{url:e.swift.active?null:e.swift.url},on:{click:function(t){return e.chooseLanguage(e.swift)}}},[e._v(" "+e._s(e.swift.name)+" ")]),n("LanguageSwitcherLink",{staticClass:"language-option objc",class:{active:e.objc.active},attrs:{url:e.objc.active?null:e.objc.url},on:{click:function(t){return e.chooseLanguage(e.objc)}}},[e._v(" "+e._s(e.objc.name)+" ")])],1)],1)},V=[],W=function(){var e=this,t=e.$createElement,n=e._self._c||t;return e.url?n("a",{attrs:{href:e.url},on:{click:function(t){return t.preventDefault(),e.$emit("click")}}},[e._t("default")],2):n("span",[e._t("default")],2)},U=[],G={name:"LanguageSwitcherLink",props:{url:[String,Object]}},Q=G,X=Object(K["a"])(Q,W,U,!1,null,null,null),Y=X.exports,J=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"summary-section"},[e._t("default")],2)},Z=[],ee={name:"Section"},te=ee,ne=(n("1347"),Object(K["a"])(te,J,Z,!1,null,"3aa6f694",null)),ie=ne.exports,ae=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("p",{staticClass:"title"},[e._t("default")],2)},se=[],re={name:"Title"},oe=re,le=(n("ede5"),Object(K["a"])(oe,ae,se,!1,null,"6796f6ea",null)),ce=le.exports,de={name:"LanguageSwitcher",components:{LanguageSwitcherLink:Y,Section:ie,Title:ce},inject:{isTargetIDE:{default:()=>!1},store:{default(){return{setPreferredLanguage(){}}}}},props:{interfaceLanguage:{type:String,required:!0},objcPath:{type:String,required:!0},swiftPath:{type:String,required:!0}},computed:{objc:({interfaceLanguage:e,objcPath:t,$route:{query:n}})=>({...O["a"].objectiveC,active:O["a"].objectiveC.key.api===e,url:Object(P["b"])(Object(L["d"])(t),{...n,language:O["a"].objectiveC.key.url})}),swift:({interfaceLanguage:e,swiftPath:t,$route:{query:n}})=>({...O["a"].swift,active:O["a"].swift.key.api===e,url:Object(P["b"])(Object(L["d"])(t),{...n,language:void 0})})},methods:{chooseLanguage(e){this.isTargetIDE||this.store.setPreferredLanguage(e.key.url),this.$router.push(e.url)}}},ue=de,he=(n("a34a"),Object(K["a"])(ue,H,V,!1,null,"1a36493d",null)),pe=he.exports,ge=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"view-more-link"},[n("router-link",{staticClass:"base-link",attrs:{to:e.url}},[e._t("default",(function(){return[e._v("View more")]}))],2)],1)},fe=[],me={name:"ViewMore",props:{url:{type:String,required:!0}}},ye=me,ve=(n("2591"),Object(K["a"])(ye,ge,fe,!1,null,"0d14b62a",null)),be=ve.exports,Te=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{class:["documentation-hero",{"documentation-hero--disabled":!e.enhanceBackground,"theme-dark":e.enhanceBackground}],style:e.styles},[n("div",{staticClass:"icon"},[e.enhanceBackground?n("TopicTypeIcon",{key:"first",staticClass:"background-icon first-icon",attrs:{type:e.type,"image-override":e.iconOverride,"with-colors":""}}):e._e()],1),n("div",{staticClass:"documentation-hero__above-content"},[e._t("above-content")],2),n("div",{staticClass:"documentation-hero__content",class:{"short-hero":e.shortHero,"extra-bottom-padding":e.shouldShowLanguageSwitcher,"minimized-hero":e.enableMinimized}},[e._t("default")],2)])},Se=[],_e=n("f12c"),Ce=n("31d4"),ke=n("2cae");const we={red:"red",orange:"orange",yellow:"yellow",blue:"blue",green:"green",purple:"purple",gray:"gray"};var Ie={name:"DocumentationHero",components:{TopicTypeIcon:_e["a"]},props:{role:{type:String,required:!0},enhanceBackground:{type:Boolean,required:!0},enableMinimized:{type:Boolean,default:!1},shortHero:{type:Boolean,required:!0},shouldShowLanguageSwitcher:{type:Boolean,required:!0},iconOverride:{type:Object,required:!1},standardColorIdentifier:{type:String,required:!1,validator:e=>Object.prototype.hasOwnProperty.call(we,e)}},computed:{color:({type:e})=>ke["b"][Ce["a"][e]||e]||ke["a"].teal,styles:({color:e,standardColorIdentifier:t})=>({"--accent-color":`var(--color-documentation-intro-accent, var(--color-type-icon-${e}))`,"--standard-accent-color":t&&`var(--color-standard-${t}-documentation-intro-fill, var(--color-standard-${t}))`}),type:({role:e})=>{switch(e){case k["a"].collection:return Ce["b"].module;case k["a"].collectionGroup:return Ce["b"].collection;default:return e}}}},xe=Ie,$e=(n("c80b"),Object(K["a"])(xe,Te,Se,!1,null,"6540c364",null)),Oe=$e.exports,De=n("7b1f"),Pe=n("12b1"),Le=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"OnThisPageNav"},[n("ul",{staticClass:"items"},e._l(e.onThisPageSections,(function(t){return n("li",{key:t.anchor,class:e.getItemClasses(t)},[n("router-link",{staticClass:"base-link",attrs:{to:t.url},nativeOn:{click:function(n){return e.handleFocusAndScroll(t.anchor)}}},[n(e.getWrapperComponent(t),{tag:"component"},[e._v(" "+e._s(e.getTextContent(t))+" ")])],1)],1)})),0)])},Ae=[];function Ne(e,t){let n,i;return function(...a){const s=this;if(!i)return e.apply(s,a),void(i=Date.now());clearTimeout(n),n=setTimeout(()=>{Date.now()-i>=t&&(e.apply(s,a),i=Date.now())},t-(Date.now()-i))}}var Ee=n("3908"),je=n("8a61"),Be={name:"OnThisPageNav",components:{WordBreak:De["a"]},mixins:[je["a"]],inject:{store:{default(){return{state:{onThisPageSections:[],currentPageAnchor:null}}}}},computed:{onThisPageSections:({store:e,$route:t})=>e.state.onThisPageSections.map(e=>({...e,url:Object(P["b"])("#"+e.anchor,t.query)})),currentPageAnchor:({store:e})=>e.state.currentPageAnchor},async mounted(){window.addEventListener("scroll",this.onScroll,!1),this.$once("hook:beforeDestroy",()=>{window.removeEventListener("scroll",this.onScroll)})},watch:{onThisPageSections:{immediate:!0,async handler(){await Object(Ee["b"])(8),this.onScroll()}}},methods:{onScroll:Ne((function(){const e=this.onThisPageSections.length;if(!e)return;const{scrollY:t,innerHeight:n}=window,{scrollHeight:i}=document.body,a=t+n>=i,s=t<=0,r=.3*n+t;if(s||a){const t=s?0:e-1;return void this.store.setCurrentPageSection(this.onThisPageSections[t].anchor)}let o,l,c=null;for(o=0;o<e;o+=1){l=this.onThisPageSections[o];const{offsetTop:e}=document.getElementById(l.anchor);if(!(e<r))break;c=l.anchor}null!==c&&this.store.setCurrentPageSection(c)}),100),checkIsActive(e){return e.anchor===this.currentPageAnchor},getItemClasses(e){return{active:this.checkIsActive(e),"parent-item":e.level<=2,"child-item":3===e.level}},getTextContent(e){return e.i18n?this.$t(e.title):e.title},getWrapperComponent(e){return e.isSymbol?De["a"]:"span"}}},Re=Be,Me=(n("e47c"),Object(K["a"])(Re,Le,Ae,!1,null,"068842ec",null)),ze=Me.exports;const Ke={content:"content",declarations:"declarations",details:"details",parameters:"parameters",possibleValues:"possibleValues",properties:"properties",restBody:"restBody",restCookies:"restCookies",restEndpoint:"restEndpoint",restHeaders:"restHeaders",restParameters:"restParameters",restResponses:"restResponses"};var qe=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("section",{staticClass:"declaration"},[e.hasModifiedChanges?[n("DeclarationDiff",{class:[e.changeClasses,e.multipleLinesClass],attrs:{changes:e.declarationChanges,changeType:e.changeType}})]:e._l(e.declarations,(function(t,i){return n("DeclarationGroup",{key:i,class:e.changeClasses,attrs:{declaration:t,shouldCaption:e.hasPlatformVariants,changeType:e.changeType}})})),e.source?n("DeclarationSourceLink",{attrs:{url:e.source.url,fileName:e.source.fileName}}):e._e(),e.conformance?n("ConditionalConstraints",{attrs:{constraints:e.conformance.constraints,prefix:e.conformance.availabilityPrefix}}):e._e()],2)},Fe=[],He=n("64cf"),Ve=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{ref:"apiChangesDiff",staticClass:"declaration-group",class:e.classes},[e.shouldCaption?n("p",{staticClass:"platforms"},[n("strong",[e._v(e._s(e.caption))])]):e._e(),n("Source",{attrs:{tokens:e.declaration.tokens,language:e.interfaceLanguage}})],1)},We=[],Ue=function(){var e,t=this,n=t.$createElement,i=t._self._c||n;return i("pre",{ref:"declarationGroup",staticClass:"source",class:(e={},e[t.multipleLinesClass]=t.displaysMultipleLines,e["has-multiple-lines"]=t.hasMultipleLines,e)},[i("CodeBlock",{ref:"code"},t._l(t.formattedTokens,(function(e,n){return i("Token",t._b({key:n},"Token",t.propsFor(e),!1))})),1)],1)},Ge=[];function Qe(e){const t=e.getElementsByClassName("token-identifier");if(t.length<2)return;const n=e.textContent.indexOf(":")+1;for(let i=1;i<t.length;i++){const e=t[i].innerHTML.trim(),a=t[i].textContent.trim(),s=a.length,r=Math.max(0,n-s);t[i].innerHTML=`\n${" ".repeat(r)}${e}`}"\n"!==e.innerHTML.charAt(e.innerHTML.length-1)&&(e.innerHTML=e.innerHTML+"\n")}function Xe(e,t){const n=e.innerHTML;try{switch(t){case O["a"].objectiveC.key.api:Qe(e);break}}catch(i){e.innerHTML=n}}var Ye=n("beb1"),Je=n("9055"),Ze=n("6842"),et=n("800b"),tt=n("00b4");const{TokenKind:nt}=tt["a"].constants,it=4;var at={name:"DeclarationSource",data(){return{displaysMultipleLines:!1,multipleLinesClass:Je["a"]}},components:{Token:tt["a"],CodeBlock:et["a"]},props:{tokens:{type:Array,required:!0},language:{type:String,required:!1}},computed:{indentationWidth:()=>Object(Ze["c"])(["theme","code","indentationWidth"],it),formattedTokens:({language:e,formattedSwiftTokens:t,tokens:n})=>e===O["a"].swift.key.api?t:n,formattedSwiftTokens:({indentationWidth:e,tokens:t})=>{const n=" ".repeat(e);let i=!1;const a=[];let s=0,r=null,o=null,l=null,c=null,d=0,u=null;while(s<t.length){const e=t[s],h={...e},p=t[s-1],g=t[s+1];if(u||e.kind!==nt.keyword||(u=s),null!==u){const t=(e.text||"").length;for(let n=0;n<t;n++)if("("===e.text.charAt(n)&&(d+=1,null==o&&(o=n,r=s)),")"===e.text.charAt(n)&&(d-=1,null!==r&&null==l&&0===d)){c=n,l=s;break}}e.kind===nt.text&&0===d&&p&&p.kind===nt.attribute&&g&&g.kind===nt.keyword&&(h.text=e.text.trimEnd()+"\n");const f=({kind:e})=>e===nt.attribute||e===nt.externalParam;e.text&&e.text.endsWith(", ")&&g&&f(g)&&(h.text=`${e.text.trimEnd()}\n${n}`,i=!0),a.push(h),s+=1}if(i&&null!==r){const e=a[r].text;a[r].text=`${e}\n${n}`}if(i&&null!==l){const e=a[l].text,t=e.slice(0,c),n=e.slice(c),i=`${t}\n${n}`;a[l].text=i}return a},hasMultipleLines({formattedTokens:e}){return e.reduce((t,n,i)=>{let a=/\n/g;return i===e.length-1&&(a=/\n(?!$)/g),n.text?t+(n.text.match(a)||[]).length:t},1)>=2}},methods:{propsFor(e){return{kind:e.kind,identifier:e.identifier,text:e.text,tokens:e.tokens}},handleWindowResize(){this.displaysMultipleLines=Object(Ye["a"])(this.$refs.declarationGroup)}},async mounted(){window.addEventListener("resize",this.handleWindowResize),this.language===O["a"].objectiveC.key.api&&(await this.$nextTick(),Xe(this.$refs.code.$el,this.language)),this.handleWindowResize()},beforeDestroy(){window.removeEventListener("resize",this.handleWindowResize)}},st=at,rt=(n("72a9"),Object(K["a"])(st,Ue,Ge,!1,null,"d22a3f50",null)),ot=rt.exports,lt=n("5d59"),ct={name:"DeclarationGroup",components:{Source:ot},mixins:[lt["a"]],inject:{languages:{default:()=>new Set},interfaceLanguage:{default:()=>O["a"].swift.key.api},symbolKind:{default:()=>{}}},props:{declaration:{type:Object,required:!0},shouldCaption:{type:Boolean,default:!1},changeType:{type:String,required:!1}},computed:{classes:({changeType:e,multipleLinesClass:t,displaysMultipleLinesAfterAPIChanges:n})=>({["declaration-group--changed declaration-group--"+e]:e,[t]:n}),caption(){return this.declaration.platforms.join(", ")},isSwift:({interfaceLanguage:e})=>e===O["a"].swift.key.api}},dt=ct,ut=(n("c4bc"),Object(K["a"])(dt,Ve,We,!1,null,"4f51d8d2",null)),ht=ut.exports,pt=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"declaration-diff"},[n("div",{staticClass:"declaration-diff-current"},[n("div",{staticClass:"declaration-diff-version"},[e._v("Current")]),e._l(e.currentDeclarations,(function(t,i){return n("DeclarationGroup",{key:i,attrs:{declaration:t,"should-caption":e.currentDeclarations.length>1,changeType:e.changeType}})}))],2),n("div",{staticClass:"declaration-diff-previous"},[n("div",{staticClass:"declaration-diff-version"},[e._v("Previous")]),e._l(e.previousDeclarations,(function(t,i){return n("DeclarationGroup",{key:i,attrs:{declaration:t,"should-caption":e.previousDeclarations.length>1,changeType:e.changeType}})}))],2)])},gt=[],ft={name:"DeclarationDiff",components:{DeclarationGroup:ht},props:{changes:{type:Object,required:!0},changeType:{type:String,required:!0}},computed:{previousDeclarations:({changes:e})=>e.declaration.previous||[],currentDeclarations:({changes:e})=>e.declaration.new||[]}},mt=ft,yt=(n("7a2c"),Object(K["a"])(mt,pt,gt,!1,null,"b3e21c4a",null)),vt=yt.exports,bt=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("a",{staticClass:"declaration-source-link",attrs:{href:e.url,title:"Open source file for "+e.fileName,target:"_blank"}},[e.isSwiftFile?n("SwiftFileIcon",{staticClass:"declaration-icon"}):e._e(),n("WordBreak",[e._v(e._s(e.fileName))])],1)},Tt=[],St=n("a88f"),_t={name:"DeclarationSourceLink",components:{WordBreak:De["a"],SwiftFileIcon:St["a"]},props:{url:{type:String,required:!0},fileName:{type:String,required:!0}},computed:{isSwiftFile:({fileName:e})=>e.endsWith(".swift")}},Ct=_t,kt=(n("e615"),Object(K["a"])(Ct,bt,Tt,!1,null,"5863919c",null)),wt=kt.exports,It=n("b5cf"),xt={name:"Declaration",components:{DeclarationDiff:vt,DeclarationGroup:ht,DeclarationSourceLink:wt,ConditionalConstraints:He["a"]},constants:{ChangeTypes:It["c"],multipleLinesClass:Je["a"]},inject:["identifier","store"],data:({store:{state:e}})=>({state:e,multipleLinesClass:Je["a"]}),props:{conformance:{type:Object,required:!1},source:{type:Object,required:!1},declarations:{type:Array,required:!0}},computed:{hasPlatformVariants(){return this.declarations.length>1},hasModifiedChanges({declarationChanges:e}){if(!e||!e.declaration)return!1;const t=e.declaration;return!(!(t.new||[]).length||!(t.previous||[]).length)},declarationChanges:({state:{apiChanges:e},identifier:t})=>e&&e[t],changeType:({declarationChanges:e,hasModifiedChanges:t})=>{if(!e)return;const n=e.declaration;return n?t?It["c"].modified:e.change:e.change===It["c"].added?It["c"].added:void 0},changeClasses:({changeType:e})=>({["changed changed-"+e]:e})}},$t=xt,Ot=(n("39d3"),Object(K["a"])($t,qe,Fe,!1,null,"2ab6251b",null)),Dt=Ot.exports,Pt=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("ContentNode",e._b({staticClass:"abstract"},"ContentNode",e.$props,!1))},Lt=[],At=n("6359"),Nt={name:"Abstract",components:{ContentNode:At["a"]},props:At["a"].props},Et=Nt,jt=(n("374e"),Object(K["a"])(Et,Pt,Lt,!1,null,"702ec04e",null)),Bt=jt.exports,Rt=n("c081"),Mt=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("TopicsTable",{attrs:{anchor:e.contentSectionData.anchor,title:e.$t(e.contentSectionData.title),isSymbolDeprecated:e.isSymbolDeprecated,isSymbolBeta:e.isSymbolBeta,sections:e.sections,wrapTitle:!0}})},zt=[];const Kt={topics:{title:"sections.topics",anchor:"topics",level:2},defaultImplementations:{title:"sections.default-implementations",anchor:"default-implementations",level:2},relationships:{title:"sections.relationships",anchor:"relationships",level:2},seeAlso:{title:"sections.see-also",anchor:"see-also",level:2}},qt={[Ke.details]:{title:"sections.details",anchor:"details",level:2},[Ke.parameters]:{title:"sections.parameters",anchor:"parameters",level:2},[Ke.possibleValues]:{title:"sections.possible-values",anchor:"possibleValues",level:2}};var Ft=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("ContentTable",{attrs:{anchor:e.anchor,title:e.title}},e._l(e.sectionsWithTopics,(function(t,i){return n("ContentTableSection",{key:t.title+"_"+i,class:{"no-title":!t.title},attrs:{title:t.title,anchor:t.anchor},scopedSlots:e._u([t.title&&e.wrapTitle?{key:"title",fn:function(i){var a=i.className;return[n("LinkableHeading",{class:a,attrs:{level:3,anchor:t.anchor}},[n("WordBreak",[e._v(e._s(t.title))])],1)]}}:null],null,!0)},[t.abstract?n("template",{slot:"abstract"},[n("ContentNode",{attrs:{content:t.abstract}})],1):e._e(),t.discussion?n("template",{slot:"discussion"},[n("ContentNode",{attrs:{content:t.discussion.content}})],1):e._e(),e.shouldRenderList?e._l(t.topics,(function(t){return n("TopicsLinkBlock",{key:t.identifier,staticClass:"topic",attrs:{topic:t,isSymbolDeprecated:e.isSymbolDeprecated,isSymbolBeta:e.isSymbolBeta}})})):n("TopicsLinkCardGrid",{staticClass:"topic",attrs:{items:t.topics,topicStyle:e.topicStyle}})],2)})),1)},Ht=[],Vt=n("70fb"),Wt=n("5dcc"),Ut=n("2f34"),Gt=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("section",{staticClass:"contenttable alt-light"},[n("div",{staticClass:"container"},[n("LinkableHeading",{staticClass:"title",attrs:{anchor:e.anchor}},[e._v(e._s(e.title))]),e._t("default")],2)])},Qt=[],Xt={name:"ContentTable",components:{LinkableHeading:Wt["a"]},props:{anchor:{type:String,required:!0},title:{type:String,required:!0}}},Yt=Xt,Jt=(n("e81e"),Object(K["a"])(Yt,Gt,Qt,!1,null,"6e075935",null)),Zt=Jt.exports,en=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"contenttable-section"},[n("div",{staticClass:"section-title"},[e._t("title",(function(){return[e.title?n("LinkableHeading",{class:e.className,attrs:{level:3,anchor:e.anchorComputed}},[e._v(e._s(e.title))]):e._e()]}),{className:e.className})],2),n("div",{staticClass:"section-content"},[e._t("abstract"),e._t("discussion"),e._t("default")],2)])},tn=[],nn=n("002d");const an="contenttable-title";var sn={name:"ContentTableSection",components:{LinkableHeading:Wt["a"]},props:{title:{type:String,required:!1},anchor:{type:String,default:null}},computed:{anchorComputed:({title:e,anchor:t})=>t||Object(nn["a"])(e||""),className:()=>an}},rn=sn,on=(n("46c5"),Object(K["a"])(rn,en,tn,!1,null,"4aae1079",null)),ln=on.exports,cn=n("2a18"),dn={name:"TopicsTable",mixins:[Ut["a"]],components:{TopicsLinkCardGrid:Vt["a"],WordBreak:De["a"],ContentTable:Zt,TopicsLinkBlock:cn["default"],ContentNode:At["a"],ContentTableSection:ln,LinkableHeading:Wt["a"]},props:{isSymbolDeprecated:Boolean,isSymbolBeta:Boolean,sections:{type:Array,required:!0},title:{type:String,required:!1,default(){return"Topics"}},anchor:{type:String,required:!1,default(){return"topics"}},wrapTitle:{type:Boolean,default:!1},topicStyle:{type:String,default:Pe["a"].list}},computed:{shouldRenderList:({topicStyle:e})=>e===Pe["a"].list,sectionsWithTopics(){return this.sections.map(e=>({...e,topics:e.identifiers.reduce((e,t)=>this.references[t]?e.concat(this.references[t]):e,[])}))}}},un=dn,hn=(n("00f2"),Object(K["a"])(un,Ft,Ht,!1,null,"3ccf02e9",null)),pn=hn.exports,gn={name:"DefaultImplementations",components:{TopicsTable:pn},computed:{contentSectionData:()=>Kt.defaultImplementations},props:{isSymbolDeprecated:Boolean,isSymbolBeta:Boolean,sections:pn.props.sections}},fn=gn,mn=Object(K["a"])(fn,Mt,zt,!1,null,null,null),yn=mn.exports,vn=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"primary-content"},e._l(e.sections,(function(t,i){return n(e.componentFor(t),e._b({key:i,tag:"component"},"component",e.propsFor(t),!1))})),1)},bn=[],Tn=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("section",[n("LinkableHeading",{attrs:{anchor:e.contentSectionData.anchor}},[e._v(" "+e._s(e.$t(e.contentSectionData.title))+" ")]),n("dl",{staticClass:"datalist"},[e._l(e.values,(function(t){return[n("dt",{key:t.name+":name",staticClass:"param-name"},[n("WordBreak",{attrs:{tag:"code"}},[e._v(e._s(t.name))])],1),t.content?n("dd",{key:t.name+":content",staticClass:"value-content"},[n("ContentNode",{attrs:{content:t.content}})],1):e._e()]}))],2)],1)},Sn=[],_n=n("5677"),Cn={name:"PossibleValues",components:{ContentNode:_n["default"],LinkableHeading:Wt["a"],WordBreak:De["a"]},props:{values:{type:Array,required:!0}},computed:{contentSectionData:()=>qt[Ke.possibleValues]}},kn=Cn,wn=(n("719b"),Object(K["a"])(kn,Tn,Sn,!1,null,null,null)),In=wn.exports,xn=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("section",[n("LinkableHeading",{attrs:{anchor:e.anchor}},[e._v(e._s(e.title))]),n("DeclarationSource",{attrs:{tokens:e.tokens}})],1)},$n=[],On={name:"RestEndpoint",components:{DeclarationSource:ot,LinkableHeading:Wt["a"]},props:{title:{type:String,required:!0},tokens:{type:Array,required:!0}},computed:{anchor:({title:e})=>Object(nn["a"])(e)}},Dn=On,Pn=Object(K["a"])(Dn,xn,$n,!1,null,null,null),Ln=Pn.exports,An=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("section",{staticClass:"details"},[n("LinkableHeading",{attrs:{anchor:e.contentSectionData.anchor}},[e._v(" "+e._s(e.$t(e.contentSectionData.title))+" ")]),n("dl",[e.isSymbol?[n("dt",{key:e.details.name+":name",staticClass:"detail-type"},[e._v(" "+e._s(e.$t("metadata.details.name"))+" ")]),n("dd",{key:e.details.ideTitle+":content",staticClass:"detail-content"},[e._v(" "+e._s(e.details.ideTitle)+" ")])]:e._e(),e.isTitle?[n("dt",{key:e.details.name+":key",staticClass:"detail-type"},[e._v(" "+e._s(e.$t("metadata.details.key"))+" ")]),n("dd",{key:e.details.ideTitle+":content",staticClass:"detail-content"},[e._v(" "+e._s(e.details.name)+" ")])]:e._e(),n("dt",{key:e.details.name+":type",staticClass:"detail-type"},[e._v(" "+e._s(e.$t("metadata.details.type"))+" ")]),n("dd",{staticClass:"detail-content"},[n("PropertyListKeyType",{attrs:{types:e.details.value}})],1)],2)],1)},Nn=[],En=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"type"},[e._v(e._s(e.typeOutput))])},jn=[],Bn={name:"PropertyListKeyType",props:{types:{type:Array,required:!0}},computed:{englishTypes(){return this.types.map(({arrayMode:e,baseType:t="*"})=>e?"array of "+this.pluralizeKeyType(t):t)},typeOutput(){return this.englishTypes.length>2?[this.englishTypes.slice(0,this.englishTypes.length-1).join(", "),this.englishTypes[this.englishTypes.length-1]].join(", or "):this.englishTypes.join(" or ")}},methods:{pluralizeKeyType(e){switch(e){case"dictionary":return"dictionaries";case"array":case"number":case"string":return e+"s";default:return e}}}},Rn=Bn,Mn=(n("f7c0"),Object(K["a"])(Rn,En,jn,!1,null,"791bac44",null)),zn=Mn.exports,Kn={name:"PropertyListKeyDetails",components:{PropertyListKeyType:zn,LinkableHeading:Wt["a"]},props:{details:{type:Object,required:!0}},computed:{contentSectionData:()=>qt[Ke.details],isTitle(){return"title"===this.details.titleStyle&&this.details.ideTitle},isSymbol(){return"symbol"===this.details.titleStyle&&this.details.ideTitle}}},qn=Kn,Fn=(n("45b2"),Object(K["a"])(qn,An,Nn,!1,null,"d66cd00c",null)),Hn=Fn.exports,Vn=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("section",{staticClass:"parameters"},[n("LinkableHeading",{attrs:{anchor:e.contentSectionData.anchor}},[e._v(" "+e._s(e.$t(e.contentSectionData.title))+" ")]),n("dl",[e._l(e.parameters,(function(t){return[n("dt",{key:t.name+":name",staticClass:"param-name"},[n("code",[e._v(e._s(t.name))])]),n("dd",{key:t.name+":content",staticClass:"param-content"},[n("ContentNode",{attrs:{content:t.content}})],1)]}))],2)],1)},Wn=[],Un={name:"Parameters",components:{ContentNode:At["a"],LinkableHeading:Wt["a"]},props:{parameters:{type:Array,required:!0}},computed:{contentSectionData:()=>qt[Ke.parameters]}},Gn=Un,Qn=(n("1a39"),Object(K["a"])(Gn,Vn,Wn,!1,null,"53cac581",null)),Xn=Qn.exports,Yn=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("section",[n("LinkableHeading",{attrs:{anchor:e.anchor}},[e._v(e._s(e.title))]),n("ParametersTable",{staticClass:"property-table",attrs:{parameters:e.properties,changes:e.propertyChanges},scopedSlots:e._u([{key:"symbol",fn:function(t){var i=t.name,a=t.type,s=t.content,r=t.changes,o=t.deprecated;return[n("div",{staticClass:"property-name",class:{deprecated:o}},[n("WordBreak",{attrs:{tag:"code"}},[e._v(e._s(i))])],1),e.shouldShiftType({name:i,content:s})?e._e():n("PossiblyChangedType",{attrs:{type:a,changes:r.type}})]}},{key:"description",fn:function(t){var i=t.name,a=t.type,s=t.attributes,r=t.content,o=t.required,l=t.changes,c=t.deprecated,d=t.readOnly;return[e.shouldShiftType({name:i,content:r})?n("PossiblyChangedType",{attrs:{type:a,changes:l.type}}):e._e(),c?[n("Badge",{staticClass:"property-deprecated",attrs:{variant:"deprecated"}}),e._v(" ")]:e._e(),n("PossiblyChangedTextAttribute",{attrs:{changes:l.required,value:o}},[e._v(" "+e._s(e.$t("formats.parenthesis",{content:e.$t("required")}))+" ")]),n("PossiblyChangedTextAttribute",{attrs:{changes:l.readOnly,value:d}},[e._v(" "+e._s(e.$t("formats.parenthesis",{content:e.$t("read-only")}))+" ")]),r?n("ContentNode",{attrs:{content:r}}):e._e(),n("ParameterAttributes",{attrs:{attributes:s,changes:l.attributes}})]}}])})],1)},Jn=[],Zn={inject:["identifier","store"],data:({store:{state:e}})=>({state:e}),computed:{apiChanges:({state:{apiChanges:e},identifier:t})=>e&&e[t]}},ei=n("a0fd"),ti=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"parameters-table"},e._l(e.parameters,(function(t){return n("Row",{key:t[e.keyBy],staticClass:"param",class:e.changedClasses(t[e.keyBy])},[n("Column",{staticClass:"param-symbol",attrs:{span:{large:3,small:12}}},[e._t("symbol",null,null,e.getProps(t,e.changes[t[e.keyBy]]))],2),n("Column",{staticClass:"param-content",attrs:{span:{large:9,small:12}}},[e._t("description",null,null,e.getProps(t,e.changes[t[e.keyBy]]))],2)],1)})),1)},ni=[],ii={name:"ParametersTable",components:{Row:B["a"],Column:R["a"]},props:{parameters:{type:Array,required:!0},changes:{type:Object,default:()=>({})},keyBy:{type:String,default:"name"}},methods:{getProps(e,t={}){return{...e,changes:t}},changedClasses(e){const{changes:t}=this,{change:n}=t[e]||{};return{["changed changed-"+n]:n}}}},ai=ii,si=(n("5561"),Object(K["a"])(ai,ti,ni,!1,null,"3f89f723",null)),ri=si.exports,oi=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"parameter-attributes"},[e.shouldRender(e.AttributeKind.default)?n("ParameterMetaAttribute",e._b({scopedSlots:e._u([{key:"default",fn:function(t){var i=t.attribute;return[e._v(" "+e._s(e.$t("formats.colon",{content:i.title||e.$t("parameters.default")}))),n("code",[e._v(e._s(i.value))])]}}],null,!1,2998238055)},"ParameterMetaAttribute",{kind:e.AttributeKind.default,attributes:e.attributesObject,changes:e.changes},!1)):e._e(),e.shouldRender(e.AttributeKind.minimum)?n("ParameterMetaAttribute",e._b({scopedSlots:e._u([{key:"default",fn:function(t){var i=t.attribute;return[e._v(" "+e._s(e.$t("formats.colon",{content:i.title||e.$t("parameters.minimum")}))),n("code",[e._v(e._s(i.value))])]}}],null,!1,859757818)},"ParameterMetaAttribute",{kind:e.AttributeKind.minimum,attributes:e.attributesObject,changes:e.changes},!1)):e._e(),e.shouldRender(e.AttributeKind.minimumExclusive)?n("ParameterMetaAttribute",e._b({scopedSlots:e._u([{key:"default",fn:function(t){var i=t.attribute;return[e._v(" "+e._s(e.$t("formats.colon",{content:i.title||e.$t("parameters.minimum")}))),n("code",[e._v("> "+e._s(i.value))])]}}],null,!1,770347247)},"ParameterMetaAttribute",{kind:e.AttributeKind.minimumExclusive,attributes:e.attributesObject,changes:e.changes},!1)):e._e(),e.shouldRender(e.AttributeKind.maximum)?n("ParameterMetaAttribute",e._b({scopedSlots:e._u([{key:"default",fn:function(t){var i=t.attribute;return[e._v(" "+e._s(e.$t("formats.colon",{content:i.title||e.$t("parameters.maximum")}))),n("code",[e._v(e._s(i.value))])]}}],null,!1,1190666532)},"ParameterMetaAttribute",{kind:e.AttributeKind.maximum,attributes:e.attributesObject,changes:e.changes},!1)):e._e(),e.shouldRender(e.AttributeKind.maximumExclusive)?n("ParameterMetaAttribute",e._b({scopedSlots:e._u([{key:"default",fn:function(t){var i=t.attribute;return[e._v(" "+e._s(e.$t("formats.colon",{content:i.title||e.$t("parameters.maximum")}))),n("code",[e._v("< "+e._s(i.value))])]}}],null,!1,1156490099)},"ParameterMetaAttribute",{kind:e.AttributeKind.maximumExclusive,attributes:e.attributesObject,changes:e.changes},!1)):e._e(),e.shouldRender(e.AttributeKind.allowedTypes)?n("ParameterMetaAttribute",e._b({scopedSlots:e._u([{key:"default",fn:function(t){var i=t.attribute;return[e._v(" "+e._s(e.$t("formats.colon",{content:e.$tc("parameters.possible-types",e.fallbackToValues(i).length)}))),n("code",[e._l(e.fallbackToValues(i),(function(t,a){return[e._l(t,(function(t,s){return[n("DeclarationToken",e._b({key:a+"-"+s},"DeclarationToken",t,!1)),a+1<e.fallbackToValues(i).length?[e._v(", ")]:e._e()]}))]}))],2)]}}],null,!1,387374398)},"ParameterMetaAttribute",{kind:e.AttributeKind.allowedTypes,attributes:e.attributesObject,changes:e.changes},!1)):e._e(),e.shouldRender(e.AttributeKind.allowedValues)?n("ParameterMetaAttribute",e._b({scopedSlots:e._u([{key:"default",fn:function(t){var i=t.attribute;return[e._v(" "+e._s(e.$t("formats.colon",{content:e.$tc("parameters.possible-values",e.fallbackToValues(i).length)}))),n("code",[e._v(e._s(e.fallbackToValues(i).join(", ")))])]}}],null,!1,3308368915)},"ParameterMetaAttribute",{kind:e.AttributeKind.allowedValues,attributes:e.attributesObject,changes:e.changes},!1)):e._e()],1)},li=[],ci=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("RenderChanged",{attrs:{value:e.attributes[e.kind],changes:e.changes[e.kind]},scopedSlots:e._u([{key:"default",fn:function(t){var i=t.value;return n("div",{staticClass:"property-metadata"},[e._t("default",null,{attribute:i})],2)}}],null,!0)})},di=[];const ui={added:"change-added",removed:"change-removed"};var hi,pi,gi={name:"RenderChanged",constants:{ChangedClasses:ui},props:{changes:{type:Object,default:()=>({new:null,previous:null})},value:{type:[Object,Array,String,Boolean],default:null},wrapChanges:{type:Boolean,default:!0},renderSingleChange:{type:Boolean,default:!1}},render(e){const{value:t,changes:n={},wrapChanges:i,renderSingleChange:a}=this,{new:s,previous:r}=n,o=(t,n)=>{const a=this.$scopedSlots.default({value:t});return n&&i?e("div",{class:n},[a]):a?a[0]:null};if(s||r){const t=o(s,ui.added),n=o(r,ui.removed);return a?s&&!r?t:n:e("div",{class:"property-changegroup"},[s?t:"",r?n:""])}return o(t)}},fi=gi,mi=Object(K["a"])(fi,hi,pi,!1,null,null,null),yi=mi.exports,vi={name:"ParameterMetaAttribute",components:{RenderChanged:yi},props:{kind:{type:String,required:!0},attributes:{type:Object,required:!0},changes:{type:Object,default:()=>({})}}},bi=vi,Ti=(n("2822"),Object(K["a"])(bi,ci,di,!1,null,"8590589e",null)),Si=Ti.exports;const _i={allowedTypes:"allowedTypes",allowedValues:"allowedValues",default:"default",maximum:"maximum",maximumExclusive:"maximumExclusive",minimum:"minimum",minimumExclusive:"minimumExclusive"};var Ci={name:"ParameterAttributes",components:{ParameterMetaAttribute:Si,DeclarationToken:tt["a"]},constants:{AttributeKind:_i},props:{attributes:{type:Array,default:()=>[]},changes:{type:Object,default:()=>({})}},computed:{AttributeKind:()=>_i,attributesObject:({attributes:e})=>e.reduce((e,t)=>({...e,[t.kind]:t}),{})},methods:{shouldRender(e){return Object.prototype.hasOwnProperty.call(this.attributesObject,e)},fallbackToValues:e=>{const t=e||[];return Array.isArray(t)?t:t.values}}},ki=Ci,wi=Object(K["a"])(ki,oi,li,!1,null,null,null),Ii=wi.exports,xi=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("RenderChanged",{attrs:{renderSingleChange:"",value:e.value,changes:e.changes},scopedSlots:e._u([{key:"default",fn:function(t){var i=t.value;return i?n("span",{staticClass:"property-text"},[e._t("default")],2):e._e()}}],null,!0)})},$i=[],Oi={name:"PossiblyChangedTextAttribute",components:{RenderChanged:yi},props:{changes:{type:Object,required:!1},value:{type:Boolean,default:!1}}},Di=Oi,Pi=(n("5c57"),Object(K["a"])(Di,xi,$i,!1,null,null,null)),Li=Pi.exports,Ai=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("RenderChanged",{attrs:{value:e.type,wrapChanges:!1,changes:e.changes},scopedSlots:e._u([{key:"default",fn:function(t){var i=t.value;return n("DeclarationTokenGroup",{staticClass:"property-metadata property-type",attrs:{type:e.getValues(i)}})}}])})},Ni=[],Ei=function(){var e=this,t=e.$createElement,n=e._self._c||t;return e.type&&e.type.length?n("div",[n("code",e._l(e.type,(function(t,i){return n("DeclarationToken",e._b({key:i},"DeclarationToken",t,!1))})),1)]):e._e()},ji=[],Bi={name:"DeclarationTokenGroup",components:{DeclarationToken:tt["a"]},props:{type:{type:Array,default:()=>[],required:!1}}},Ri=Bi,Mi=Object(K["a"])(Ri,Ei,ji,!1,null,null,null),zi=Mi.exports,Ki={name:"PossiblyChangedType",components:{DeclarationTokenGroup:zi,RenderChanged:yi},props:{type:{type:Array,required:!0},changes:{type:Object,required:!1}},methods:{getValues(e){return Array.isArray(e)?e:e.values}}},qi=Ki,Fi=(n("2f87"),Object(K["a"])(qi,Ai,Ni,!1,null,"0a648a1e",null)),Hi=Fi.exports,Vi={name:"PropertyTable",mixins:[Zn],components:{Badge:ei["a"],WordBreak:De["a"],PossiblyChangedTextAttribute:Li,PossiblyChangedType:Hi,ParameterAttributes:Ii,ContentNode:At["a"],ParametersTable:ri,LinkableHeading:Wt["a"]},props:{title:{type:String,required:!0},properties:{type:Array,required:!0}},computed:{anchor:({title:e})=>Object(nn["a"])(e),propertyChanges:({apiChanges:e})=>(e||{}).properties},methods:{shouldShiftType:({content:e=[],name:t})=>!e.length&&t}},Wi=Vi,Ui=(n("d71b"),Object(K["a"])(Wi,Yn,Jn,!1,null,"310f0b2c",null)),Gi=Ui.exports,Qi=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("section",[n("LinkableHeading",{attrs:{anchor:e.anchor}},[e._v(e._s(e.title))]),n("ParametersTable",{attrs:{parameters:[e.bodyParam],changes:e.bodyChanges,keyBy:"key"},scopedSlots:e._u([{key:"symbol",fn:function(t){var i=t.type,a=t.content,s=t.changes,r=t.name;return[e.shouldShiftType({name:r,content:a})?e._e():n("PossiblyChangedType",{attrs:{type:i,changes:s.type}})]}},{key:"description",fn:function(t){var i=t.name,a=t.content,s=t.mimeType,r=t.type,o=t.changes;return[e.shouldShiftType({name:i,content:a})?n("PossiblyChangedType",{attrs:{type:r,changes:o.type}}):e._e(),a?n("ContentNode",{attrs:{content:a}}):e._e(),s?n("PossiblyChangedMimetype",{attrs:{mimetype:s,changes:o.mimetype,change:o.change}}):e._e()]}}])}),e.parts.length?[n("h3",[e._v(e._s(e.$t("sections.parts")))]),n("ParametersTable",{staticClass:"parts",attrs:{parameters:e.parts,changes:e.partsChanges},scopedSlots:e._u([{key:"symbol",fn:function(t){var i=t.name,a=t.type,s=t.content,r=t.changes;return[n("div",{staticClass:"part-name"},[n("WordBreak",{attrs:{tag:"code"}},[e._v(e._s(i))])],1),s?n("PossiblyChangedType",{attrs:{type:a,changes:r.type}}):e._e()]}},{key:"description",fn:function(t){var i=t.content,a=t.mimeType,s=t.required,r=t.type,o=t.attributes,l=t.changes,c=t.readOnly;return[n("div",[i?e._e():n("PossiblyChangedType",{attrs:{type:r,changes:l.type}}),n("PossiblyChangedTextAttribute",{attrs:{changes:l.required,value:s}},[e._v("(Required) ")]),n("PossiblyChangedTextAttribute",{attrs:{changes:l.readOnly,value:c}},[e._v("(Read only) ")]),i?n("ContentNode",{attrs:{content:i}}):e._e(),a?n("PossiblyChangedMimetype",{attrs:{mimetype:a,changes:l.mimetype,change:l.change}}):e._e(),n("ParameterAttributes",{attrs:{attributes:o,changes:l.attributes}})],1)]}}],null,!1,1779956822)})]:e._e()],2)},Xi=[],Yi=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("RenderChanged",{attrs:{changes:e.changeValues,value:e.mimetype},scopedSlots:e._u([{key:"default",fn:function(t){var i=t.value;return n("div",{staticClass:"response-mimetype"},[e._v(" "+e._s(e.$t("content-type",{value:i}))+" ")])}}])})},Ji=[],Zi={name:"PossiblyChangedMimetype",components:{RenderChanged:yi},props:{mimetype:{type:String,required:!0},changes:{type:[Object,String],required:!1},change:{type:String,required:!1}},computed:{changeValues({change:e,changes:t}){return e===It["c"].modified&&"string"!==typeof t?t:void 0}}},ea=Zi,ta=(n("d1ac"),Object(K["a"])(ea,Yi,Ji,!1,null,"20293786",null)),na=ta.exports;const ia="restRequestBody";var aa={name:"RestBody",mixins:[Zn],components:{PossiblyChangedMimetype:na,PossiblyChangedTextAttribute:Li,PossiblyChangedType:Hi,WordBreak:De["a"],ParameterAttributes:Ii,ContentNode:At["a"],ParametersTable:ri,LinkableHeading:Wt["a"]},constants:{ChangesKey:ia},props:{bodyContentType:{type:Array,required:!0},content:{type:Array},mimeType:{type:String,required:!0},parts:{type:Array,default:()=>[]},title:{type:String,required:!0}},computed:{anchor:({title:e})=>Object(nn["a"])(e),bodyParam:({bodyContentType:e,content:t,mimeType:n})=>({key:ia,content:t,mimeType:n,type:e}),bodyChanges:({apiChanges:e})=>e||{},partsChanges:({bodyChanges:e})=>(e[ia]||{}).parts},methods:{shouldShiftType:({content:e=[],name:t})=>!e.length&&t}},sa=aa,ra=(n("6a35"),Object(K["a"])(sa,Qi,Xi,!1,null,"021cd63d",null)),oa=ra.exports,la=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("section",[n("LinkableHeading",{attrs:{anchor:e.anchor}},[e._v(e._s(e.title))]),n("ParametersTable",{attrs:{parameters:e.parameters,changes:e.parameterChanges},scopedSlots:e._u([{key:"symbol",fn:function(t){var i=t.name,a=t.type,s=t.content,r=t.changes,o=t.deprecated;return[n("div",{staticClass:"param-name",class:{deprecated:o}},[n("WordBreak",{attrs:{tag:"code"}},[e._v(e._s(i))])],1),e.shouldShiftType({content:s,name:i})?e._e():n("PossiblyChangedType",{attrs:{type:a,changes:r.type}})]}},{key:"description",fn:function(t){var i=t.name,a=t.type,s=t.content,r=t.required,o=t.attributes,l=t.changes,c=t.deprecated,d=t.readOnly;return[n("div",[e.shouldShiftType({content:s,name:i})?n("PossiblyChangedType",{attrs:{type:a,changes:l.type}}):e._e(),c?[n("Badge",{staticClass:"param-deprecated",attrs:{variant:"deprecated"}}),e._v(" ")]:e._e(),n("PossiblyChangedTextAttribute",{attrs:{changes:l.required,value:r}},[e._v(" "+e._s(e.$t("formats.parenthesis",{content:e.$t("required")}))+" ")]),n("PossiblyChangedTextAttribute",{attrs:{changes:l.readOnly,value:d}},[e._v(" "+e._s(e.$t("formats.parenthesis",{content:e.$t("read-only")}))+" ")]),s?n("ContentNode",{attrs:{content:s}}):e._e(),n("ParameterAttributes",{attrs:{attributes:o,changes:l}})],2)]}}])})],1)},ca=[],da={name:"RestParameters",mixins:[Zn],components:{Badge:ei["a"],PossiblyChangedType:Hi,PossiblyChangedTextAttribute:Li,ParameterAttributes:Ii,WordBreak:De["a"],ContentNode:At["a"],ParametersTable:ri,LinkableHeading:Wt["a"]},props:{title:{type:String,required:!0},parameters:{type:Array,required:!0}},computed:{anchor:({title:e})=>Object(nn["a"])(e),parameterChanges:({apiChanges:e})=>(e||{}).restParameters},methods:{shouldShiftType:({content:e=[],name:t})=>!e.length&&t}},ua=da,ha=(n("eb6d"),Object(K["a"])(ua,la,ca,!1,null,"03478142",null)),pa=ha.exports,ga=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("section",[n("LinkableHeading",{attrs:{anchor:e.anchor}},[e._v(e._s(e.title))]),n("ParametersTable",{attrs:{parameters:e.responses,changes:e.propertyChanges,"key-by":"status"},scopedSlots:e._u([{key:"symbol",fn:function(t){var i=t.status,a=t.type,s=t.reason,r=t.content,o=t.changes;return[n("div",{staticClass:"response-name"},[n("code",[e._v(" "+e._s(i)+" "),n("span",{staticClass:"reason"},[e._v(e._s(s))])])]),e.shouldShiftType({content:r,reason:s,status:i})?e._e():n("PossiblyChangedType",{attrs:{type:a,changes:o.type}})]}},{key:"description",fn:function(t){var i=t.content,a=t.mimetype,s=t.reason,r=t.type,o=t.status,l=t.changes;return[e.shouldShiftType({content:i,reason:s,status:o})?n("PossiblyChangedType",{attrs:{type:r,changes:l.type}}):e._e(),n("div",{staticClass:"response-reason"},[n("code",[e._v(e._s(s))])]),i?n("ContentNode",{attrs:{content:i}}):e._e(),a?n("PossiblyChangedMimetype",{attrs:{mimetype:a,changes:l.mimetype,change:l.change}}):e._e()]}}])})],1)},fa=[],ma={name:"RestResponses",mixins:[Zn],components:{PossiblyChangedMimetype:na,PossiblyChangedType:Hi,ContentNode:At["a"],ParametersTable:ri,LinkableHeading:Wt["a"]},props:{title:{type:String,required:!0},responses:{type:Array,required:!0}},computed:{anchor:({title:e})=>Object(nn["a"])(e),propertyChanges:({apiChanges:e})=>(e||{}).restResponses},methods:{shouldShiftType:({content:e=[],reason:t,status:n})=>!(e.length||t)&&n}},ya=ma,va=(n("7649"),Object(K["a"])(ya,ga,fa,!1,null,"881189f4",null)),ba=va.exports,Ta={name:"PrimaryContent",components:{ContentNode:At["a"],Parameters:Xn,PropertyListKeyDetails:Hn,PropertyTable:Gi,RestBody:oa,RestEndpoint:Ln,RestParameters:pa,RestResponses:ba,PossibleValues:In},constants:{SectionKind:Ke},props:{sections:{type:Array,required:!0,validator:e=>e.every(({kind:e})=>Object.prototype.hasOwnProperty.call(Ke,e))}},computed:{span(){return{large:9,medium:9,small:12}}},methods:{componentFor(e){return{[Ke.content]:At["a"],[Ke.details]:Hn,[Ke.parameters]:Xn,[Ke.properties]:Gi,[Ke.restBody]:oa,[Ke.restParameters]:pa,[Ke.restHeaders]:pa,[Ke.restCookies]:pa,[Ke.restEndpoint]:Ln,[Ke.restResponses]:ba,[Ke.possibleValues]:In}[e.kind]},propsFor(e){const{bodyContentType:t,content:n,details:i,items:a,kind:s,mimeType:r,parameters:o,title:l,tokens:c,values:d}=e;return{[Ke.content]:{content:n},[Ke.details]:{details:i},[Ke.parameters]:{parameters:o},[Ke.possibleValues]:{values:d},[Ke.properties]:{properties:a,title:l},[Ke.restBody]:{bodyContentType:t,content:n,mimeType:r,parts:o,title:l},[Ke.restCookies]:{parameters:a,title:l},[Ke.restEndpoint]:{tokens:c,title:l},[Ke.restHeaders]:{parameters:a,title:l},[Ke.restParameters]:{parameters:a,title:l},[Ke.restResponses]:{responses:a,title:l}}[s]}}},Sa=Ta,_a=(n("73a8"),Object(K["a"])(Sa,vn,bn,!1,null,"2baae7e0",null)),Ca=_a.exports,ka=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("ContentTable",{attrs:{anchor:e.contentSectionData.anchor,title:e.$t(e.contentSectionData.title)}},e._l(e.sectionsWithSymbols,(function(e){return n("Section",{key:e.type,attrs:{title:e.title,anchor:e.anchor}},[n("List",{attrs:{symbols:e.symbols,type:e.type}})],1)})),1)},wa=[],Ia=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("ul",{ref:"apiChangesDiff",staticClass:"relationships-list",class:e.classes},e._l(e.symbols,(function(t){return n("li",{key:t.identifier,staticClass:"relationships-item"},[t.url?n("router-link",{staticClass:"link",attrs:{to:e.buildUrl(t.url,e.$route.query)}},[n("WordBreak",{attrs:{tag:"code"}},[e._v(e._s(t.title))])],1):n("WordBreak",{attrs:{tag:"code"}},[e._v(e._s(t.title))]),t.conformance?n("ConditionalConstraints",{attrs:{constraints:t.conformance.constraints,prefix:t.conformance.conformancePrefix}}):e._e()],1)})),0)},xa=[];const $a=3,Oa={conformsTo:"conformance",inheritsFrom:"inheritance",inheritedBy:"inheritedBy"};var Da={name:"RelationshipsList",components:{ConditionalConstraints:He["a"],WordBreak:De["a"]},inject:["store","identifier"],mixins:[lt["b"],lt["a"]],props:{symbols:{type:Array,required:!0},type:{type:String,required:!0}},data(){return{state:this.store.state}},computed:{classes({changeType:e,multipleLinesClass:t,displaysMultipleLinesAfterAPIChanges:n}){return[{inline:this.shouldDisplayInline,column:!this.shouldDisplayInline,["changed changed-"+e]:!!e,[t]:n}]},hasAvailabilityConstraints(){return this.symbols.some(e=>!!(e.conformance||{}).constraints)},changes({identifier:e,state:{apiChanges:t}}){return(t||{})[e]||{}},changeType({changes:e,type:t}){const n=Oa[t];if(e.change!==It["c"].modified)return e.change;const i=e[n];if(!i)return;const a=(e,t)=>e.map((e,n)=>[e,t[n]]),s=a(i.previous,i.new).some(([e,t])=>e.content?0===e.content.length&&t.content.length>0:!!t.content);return s?It["c"].added:It["c"].modified},shouldDisplayInline(){const{hasAvailabilityConstraints:e,symbols:t}=this;return t.length<=$a&&!e}},methods:{buildUrl:P["b"]}},Pa=Da,La=(n("9475"),Object(K["a"])(Pa,Ia,xa,!1,null,"4c67b8c7",null)),Aa=La.exports,Na={name:"Relationships",mixins:[Ut["a"]],components:{ContentTable:Zt,List:Aa,Section:ln},props:{sections:{type:Array,required:!0}},computed:{contentSectionData:()=>Kt.relationships,sectionsWithSymbols(){return this.sections.map(e=>({...e,symbols:e.identifiers.reduce((e,t)=>this.references[t]?e.concat(this.references[t]):e,[])}))}}},Ea=Na,ja=Object(K["a"])(Ea,ka,wa,!1,null,null,null),Ba=ja.exports,Ra=n("e8ea"),Ma=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("Section",{staticClass:"availability",attrs:{role:"complementary","aria-label":e.$t("sections.availability")}},[e._l(e.technologies,(function(t){return n("Badge",{key:t,staticClass:"technology"},[n("TechnologyIcon",{staticClass:"tech-icon"}),e._v(" "+e._s(t)+" ")],1)})),e._l(e.platforms,(function(t){return n("Badge",{key:t.name,staticClass:"platform",class:e.changesClassesFor(t.name)},[n("AvailabilityRange",{attrs:{deprecatedAt:t.deprecatedAt,introducedAt:t.introducedAt,platformName:t.name}}),t.deprecatedAt?n("span",{staticClass:"deprecated"},[e._v(" "+e._s(e.$t("aside-kind.deprecated"))+" ")]):t.beta?n("span",{staticClass:"beta"},[e._v(e._s(e.$t("aside-kind.beta")))]):e._e()],1)}))],2)},za=[],Ka=n("3024"),qa=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("span",{attrs:{role:"text","aria-label":e.ariaLabel,title:e.description}},[e._v(" "+e._s(e.text)+" ")])},Fa=[],Ha={name:"AvailabilityRange",props:{deprecatedAt:{type:String,required:!1},introducedAt:{type:String,required:!0},platformName:{type:String,required:!0}},computed:{ariaLabel(){const{deprecatedAt:e,description:t,text:n}=this;return[n].concat(e?this.$t("change-type.deprecated"):[]).concat(t).join(", ")},description(){const{deprecatedAt:e,introducedAt:t,platformName:n}=this;return e?this.$t("availability.introduced-and-deprecated",{name:n,introducedAt:t,deprecatedAt:e}):this.$t("availability.available-on",{name:n,introducedAt:t})},text(){const{deprecatedAt:e,introducedAt:t,platformName:n}=this;return e?`${n} ${t}–${e}`:`${n} ${t}+`}}},Va=Ha,Wa=Object(K["a"])(Va,qa,Fa,!1,null,null,null),Ua=Wa.exports,Ga={name:"Availability",mixins:[lt["b"]],inject:["identifier","store"],components:{Badge:ei["a"],AvailabilityRange:Ua,Section:ie,TechnologyIcon:Ka["a"]},props:{platforms:{type:Array,required:!0},technologies:{type:Array,required:!1}},data(){return{state:this.store.state}},methods:{changeFor(e){const{identifier:t,state:{apiChanges:n}}=this,{availability:i={}}=(n||{})[t]||{},a=i[e];if(a)return a.deprecated?It["c"].deprecated:a.introduced&&!a.introduced.previous?It["c"].added:It["c"].modified}}},Qa=Ga,Xa=(n("2d12"),Object(K["a"])(Qa,Ma,za,!1,null,"602d8130",null)),Ya=Xa.exports,Ja=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("TopicsTable",{attrs:{anchor:e.contentSectionData.anchor,title:e.$t(e.contentSectionData.title),isSymbolDeprecated:e.isSymbolDeprecated,isSymbolBeta:e.isSymbolBeta,sections:e.sections}})},Za=[],es={name:"SeeAlso",components:{TopicsTable:pn},props:{isSymbolDeprecated:Boolean,isSymbolBeta:Boolean,sections:pn.props.sections},computed:{contentSectionData:()=>Kt.seeAlso}},ts=es,ns=Object(K["a"])(ts,Ja,Za,!1,null,null,null),is=ns.exports,as=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"topictitle"},[e.eyebrow?n("span",{staticClass:"eyebrow"},[e._v(e._s(e.eyebrow))]):e._e(),n("h1",{staticClass:"title"},[e._t("default"),e._t("after")],2)])},ss=[],rs={name:"Title",props:{eyebrow:{type:String,required:!1}}},os=rs,ls=(n("3396"),Object(K["a"])(os,as,ss,!1,null,"4492c658",null)),cs=ls.exports,ds=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("TopicsTable",{attrs:{anchor:e.contentSectionData.anchor,title:e.$t(e.contentSectionData.title),isSymbolDeprecated:e.isSymbolDeprecated,isSymbolBeta:e.isSymbolBeta,sections:e.sections,topicStyle:e.topicStyle}})},us=[],hs={name:"Topics",components:{TopicsTable:pn},computed:{contentSectionData:()=>Kt.topics},props:{isSymbolDeprecated:Boolean,isSymbolBeta:Boolean,sections:pn.props.sections,topicStyle:{type:String,required:!0,validator:e=>Object.hasOwnProperty.call(Pe["a"],e)}}},ps=hs,gs=Object(K["a"])(ps,ds,us,!1,null,null,null),fs=gs.exports,ms=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"OnThisPageStickyContainer"},[e._t("default")],2)},ys=[],vs={name:"OnThisPageStickyContainer"},bs=vs,Ts=(n("1e0b"),Object(K["a"])(bs,ms,ys,!1,null,"1b6d0048",null)),Ss=Ts.exports;const _s=1050;var Cs={name:"DocumentationTopic",mixins:[D["a"]],constants:{ON_THIS_PAGE_CONTAINER_BREAKPOINT:_s},inject:{isTargetIDE:{default(){return!1}},store:{default(){return{reset(){},state:{}}}}},components:{Declaration:Dt,OnThisPageStickyContainer:Ss,OnThisPageNav:ze,DocumentationHero:Oe,Abstract:Bt,Aside:N["a"],BetaLegalText:F,ContentNode:At["a"],DefaultImplementations:yn,DownloadButton:Rt["a"],LanguageSwitcher:pe,PrimaryContent:Ca,Relationships:Ba,RequirementMetadata:Ra["a"],Availability:Ya,SeeAlso:is,Title:cs,Topics:fs,ViewMore:be,WordBreak:De["a"]},props:{abstract:{type:Array,required:!1},conformance:{type:Object,required:!1},defaultImplementationsSections:{type:Array,required:!1},downloadNotAvailableSummary:{type:Array,required:!1},deprecationSummary:{type:Array,required:!1},diffAvailability:{type:Object,required:!1},modules:{type:Array,required:!1},hasNoExpandedDocumentation:{type:Boolean,required:!1},hierarchy:{type:Object,default:()=>({})},interfaceLanguage:{type:String,required:!0},identifier:{type:String,required:!0},isRequirement:{type:Boolean,default:()=>!1},platforms:{type:Array,required:!1},primaryContentSections:{type:Array,required:!1},references:{type:Object,required:!0},relationshipsSections:{type:Array,required:!1},roleHeading:{type:String,required:!1},title:{type:String,required:!0},topicSections:{type:Array,required:!1},topicSectionsStyle:{type:String,default:Pe["a"].list},sampleCodeDownload:{type:Object,required:!1},seeAlsoSections:{type:Array,required:!1},languagePaths:{type:Object,default:()=>({})},tags:{type:Array,required:!0},objcPath:{type:String,required:!1},swiftPath:{type:String,required:!1},isSymbolDeprecated:{type:Boolean,required:!1},isSymbolBeta:{type:Boolean,required:!1},symbolKind:{type:String,default:""},role:{type:String,default:""},remoteSource:{type:Object,required:!1},pageImages:{type:Array,required:!1},enableMinimized:{type:Boolean,default:!1},enableOnThisPageNav:{type:Boolean,default:!1},disableHeroBackground:{type:Boolean,default:!1},standardColorIdentifier:{type:String,required:!1,validator:e=>Object.prototype.hasOwnProperty.call(we,e)},availableLocales:{type:Array,required:!1}},provide(){return{identifier:this.identifier,languages:new Set(Object.keys(this.languagePaths)),interfaceLanguage:this.interfaceLanguage,symbolKind:this.symbolKind,enableMinimized:this.enableMinimized}},data(){return{topicState:this.store.state}},computed:{normalizedSwiftPath:({swiftPath:e})=>Object(L["d"])(e),normalizedObjcPath:({objcPath:e,swiftPath:t})=>Object(L["d"])(e&&t?Object(P["b"])(e,{language:O["a"].objectiveC.key.url}):e),defaultImplementationsCount(){return(this.defaultImplementationsSections||[]).reduce((e,t)=>e+t.identifiers.length,0)},shouldShowAvailability:({platforms:e,technologies:t,enableMinimized:n})=>((e||[]).length||(t||[]).length)&&!n,hasBetaContent:({platforms:e})=>e&&e.length&&e.some(e=>e.beta),pageTitle:({title:e})=>e,pageDescription:({abstract:e,extractFirstParagraphText:t})=>e?t(e):null,shouldShowLanguageSwitcher:({objcPath:e,swiftPath:t,isTargetIDE:n,enableMinimized:i})=>!!(e&&t&&n)&&!i,enhanceBackground:({symbolKind:e,disableHeroBackground:t,enableMinimized:n})=>!t&&!n&&(!e||"module"===e),shortHero:({roleHeading:e,abstract:t,sampleCodeDownload:n,hasAvailability:i,shouldShowLanguageSwitcher:a,declarations:s})=>!!e+!!t+!!n+!!s.length+!!i+a<=1,technologies({modules:e=[]}){const t=e.reduce((e,t)=>(e.push(t.name),e.concat(t.relatedModules||[])),[]);return t.length>1?t:[]},titleBreakComponent:({enhanceBackground:e})=>e?"span":De["a"],hasPrimaryContent:({isRequirement:e,deprecationSummary:t,downloadNotAvailableSummary:n,primaryContentSectionsSanitized:i,shouldShowViewMoreLink:a})=>e||t&&t.length||n&&n.length||i.length||a,viewMoreLink:({interfaceLanguage:e,normalizedObjcPath:t,normalizedSwiftPath:n})=>e===O["a"].objectiveC.key.api?t:n,shouldShowViewMoreLink:({enableMinimized:e,hasNoExpandedDocumentation:t,viewMoreLink:n})=>e&&!t&&n,tagName(){return this.isSymbolDeprecated?this.$t("aside-kind.deprecated"):this.$t("aside-kind.beta")},pageIcon:({pageImages:e=[]})=>{const t=e.find(({type:e})=>"icon"===e);return t?t.identifier:null},shouldRenderTopicSection:({topicSectionsStyle:e,topicSections:t,enableMinimized:n})=>t&&e!==Pe["a"].hidden&&!n,isOnThisPageNavVisible:({topicState:e})=>e.contentWidth>_s,disableMetadata:({enableMinimized:e})=>e,primaryContentSectionsSanitized({primaryContentSections:e=[]}){return e.filter(({kind:e})=>e!==Ke.declarations)},declarations({primaryContentSections:e=[]}){return e.filter(({kind:e})=>e===Ke.declarations)}},methods:{extractProps(e){const{abstract:t,defaultImplementationsSections:n,deprecationSummary:i,downloadNotAvailableSummary:a,diffAvailability:s,hierarchy:r,identifier:{interfaceLanguage:o,url:l},metadata:{conformance:c,hasNoExpandedDocumentation:d,modules:u,availableLocales:h,platforms:p,required:g=!1,roleHeading:f,title:m="",tags:y=[],role:v,symbolKind:b="",remoteSource:T,images:S=[],color:{standardColorIdentifier:_}={}}={},primaryContentSections:C,relationshipsSections:k,references:w={},sampleCodeDownload:I,topicSectionsStyle:x,topicSections:$,seeAlsoSections:D,variantOverrides:P,variants:L=[]}=e,A=L.reduce((e,t)=>t.traits.reduce((e,n)=>n.interfaceLanguage?{...e,[n.interfaceLanguage]:(e[n.interfaceLanguage]||[]).concat(t.paths)}:e,e),{}),{[O["a"].objectiveC.key.api]:[N]=[],[O["a"].swift.key.api]:[E]=[]}=A;return{abstract:t,conformance:c,defaultImplementationsSections:n,deprecationSummary:i,downloadNotAvailableSummary:a,diffAvailability:s,hasNoExpandedDocumentation:d,availableLocales:h,hierarchy:r,role:v,identifier:l,interfaceLanguage:o,isRequirement:g,modules:u,platforms:p,primaryContentSections:C,relationshipsSections:k,references:w,roleHeading:f,sampleCodeDownload:I,title:m,topicSections:$,topicSectionsStyle:x,seeAlsoSections:D,variantOverrides:P,symbolKind:b,tags:y.slice(0,1),remoteSource:T,pageImages:S,objcPath:N,swiftPath:E,standardColorIdentifier:_}}},created(){if(this.topicState.preferredLanguage===O["a"].objectiveC.key.url&&this.interfaceLanguage!==O["a"].objectiveC.key.api&&this.objcPath&&this.$route.query.language!==O["a"].objectiveC.key.url){const{query:e}=this.$route;this.$nextTick().then(()=>{this.$router.replace({path:Object(L["d"])(this.objcPath),query:{...e,language:O["a"].objectiveC.key.url}})})}A["a"].setAvailableLocales(this.availableLocales||[]),this.store.reset(),this.store.setReferences(this.references)},watch:{references(e){this.store.setReferences(e)},availableLocales(e){A["a"].setAvailableLocales(e)}}},ks=Cs,ws=(n("6d05"),Object(K["a"])(ks,x,$,!1,null,"43c74ad0",null)),Is=ws.exports,xs=n("2b0e");const $s=()=>({[It["c"].modified]:0,[It["c"].added]:0,[It["c"].deprecated]:0});var Os={state:{apiChanges:null,apiChangesCounts:$s(),selectedAPIChangesVersion:null},setAPIChanges(e){this.state.apiChanges=e},setSelectedAPIChangesVersion(e){this.state.selectedAPIChangesVersion=e},resetApiChanges(){this.state.apiChanges=null,this.state.apiChangesCounts=$s()},async updateApiChangesCounts(){await xs["default"].nextTick(),Object.keys(this.state.apiChangesCounts).forEach(e=>{this.state.apiChangesCounts[e]=this.countChangeType(e)})},countChangeType(e){if(document&&document.querySelectorAll){const t=`.changed-${e}:not(.changed-total)`;return document.querySelectorAll(t).length}return 0}},Ds={state:{onThisPageSections:[],currentPageAnchor:null},resetPageSections(){this.state.onThisPageSections=[],this.state.currentPageAnchor=null},addOnThisPageSection(e,{i18n:t=!0}={}){this.state.onThisPageSections.push({...e,i18n:t})},setCurrentPageSection(e){const t=this.state.onThisPageSections.findIndex(({anchor:t})=>t===e);-1!==t&&(this.state.currentPageAnchor=e)}},Ps=n("d369");const{state:Ls,...As}=Os,{state:Ns,...Es}=Ds;var js={state:{preferredLanguage:Ps["a"].preferredLanguage,contentWidth:0,...Ls,...Ns,references:{}},reset(){this.state.preferredLanguage=Ps["a"].preferredLanguage,this.state.references={},this.resetApiChanges()},setPreferredLanguage(e){this.state.preferredLanguage=e,Ps["a"].preferredLanguage=this.state.preferredLanguage},setContentWidth(e){this.state.contentWidth=e},setReferences(e){this.state.references=e},...As,...Es},Bs=n("8590"),Rs=n("66c9"),Ms=n("0caf"),zs=n("146e");const Ks="<root>",qs=32,Fs="navigator-hide-button";function Hs(e){return e.split("").reduce((e,t)=>(e<<5)-e+t.charCodeAt(0)|0,0)}function Vs(e){const t={},n=e.length;for(let i=0;i<n;i+=1)t[e[i].uid]=e[i];return t}function Ws(e,t=null,n=0,i=!1){let a=[];const s=e.length;let r,o=null;for(r=0;r<s;r+=1){const{children:l,...c}=e[r],{uid:d=Ks}=t||{};c.uid=Hs(`${d}+${c.path}_${n}_${r}`),c.parent=d,c.type===Ce["b"].groupMarker?(c.deprecatedChildrenCount=0,o=c):o&&(o.childUIDs.push(c.uid),c.groupMarkerUID=o.uid,c.deprecated&&(o.deprecatedChildrenCount+=1)),c.index=r,c.siblingsCount=s,c.depth=n,c.childUIDs=[],t&&t.childUIDs.push(c.uid),c.beta&&i&&(c.beta=!1),a.push(c),l&&(a=a.concat(Ws(l,c,n+1,i||c.beta)))}return a}function Us(e,t){const n=new Set([]),i=[e];let a=null;while(i.length){a=i.shift();const e=t[a];n.add(e),i.unshift(...e.childUIDs)}return[...n]}function Gs(e,t,n){if(e===Ks)return n.filter(e=>e.parent===Ks);const i=t[e];return i?(i.childUIDs||[]).map(e=>t[e]):[]}function Qs(e,t){const n=[],i=[e];let a=null;while(i.length){a=i.pop();const e=t[a];if(!e)return[];n.unshift(e),e.parent&&e.parent!==Ks&&i.push(e.parent)}return n}function Xs(e,t,n){const i=t[e];return i?Gs(i.parent,t,n):[]}var Ys,Js,Zs={name:"NavigatorDataProvider",props:{interfaceLanguage:{type:String,default:O["a"].swift.key.url},technologyUrl:{type:String,required:!0},apiChangesVersion:{type:String,default:""}},data(){return{isFetching:!1,errorFetching:!1,isFetchingAPIChanges:!1,navigationIndex:{[O["a"].swift.key.url]:[]},navigationReferences:{},diffs:null}},computed:{flatChildren:({technologyWithChildren:e={}})=>Ws(e.children||[],null,0,e.beta),technologyPath:({technologyUrl:e})=>{const t=/(\/documentation\/(?:[^/]+))\/?/.exec(e);return t?t[1]:""},technologyWithChildren({navigationIndex:e,interfaceLanguage:t,technologyPath:n}){let i=e[t]||[];return i.length||(i=e[O["a"].swift.key.url]||[]),i.find(e=>n.toLowerCase()===e.path.toLowerCase())}},methods:{async fetchIndexData(){try{this.isFetching=!0;const{interfaceLanguages:e,references:t}=await Object(w["d"])({slug:this.$route.params.locale||""});this.navigationIndex=Object.freeze(e),this.navigationReferences=Object.freeze(t)}catch(e){this.errorFetching=!0}finally{this.isFetching=!1}}},watch:{"$route.params.locale":{handler:"fetchIndexData",immediate:!0}},render(){return this.$scopedSlots.default({technology:this.technologyWithChildren,isFetching:this.isFetching,errorFetching:this.errorFetching,isFetchingAPIChanges:this.isFetchingAPIChanges,apiChanges:this.diffs,flatChildren:this.flatChildren,references:this.navigationReferences})}},er=Zs,tr=Object(K["a"])(er,Ys,Js,!1,null,null,null),nr=tr.exports,ir=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("button",{staticClass:"quick-navigation-open",attrs:{"aria-label":e.$t("quicknav.button.label"),title:e.$t("quicknav.button.title")}},[e._v(" / ")])},ar=[],sr={name:"QuickNavigationButton"},rr=sr,or=(n("5a73"),Object(K["a"])(rr,ir,ar,!1,null,"53faf852",null)),lr=or.exports,cr=function(){var e,t,n=this,i=n.$createElement,a=n._self._c||i;return a("GenericModal",{attrs:{isFullscreen:"",showClose:!1,visible:n.isVisible,backdropBackgroundColorOverride:"rgba(0, 0, 0, 0.7)"},on:{"update:visible":function(e){n.isVisible=e}}},[a("div",{staticClass:"quick-navigation",on:{keydown:[function(e){return!e.type.indexOf("key")&&n._k(e.keyCode,"down",40,e.key,["Down","ArrowDown"])||e.ctrlKey||e.shiftKey||e.altKey||e.metaKey?null:(e.preventDefault(),n.focusNext.apply(null,arguments))},function(e){return!e.type.indexOf("key")&&n._k(e.keyCode,"up",38,e.key,["Up","ArrowUp"])||e.ctrlKey||e.shiftKey||e.altKey||e.metaKey?null:(e.preventDefault(),n.focusPrev.apply(null,arguments))},function(e){return!e.type.indexOf("key")&&n._k(e.keyCode,"enter",13,e.key,"Enter")||e.ctrlKey||e.shiftKey||e.altKey||e.metaKey?null:n.handleKeyEnter.apply(null,arguments)}],click:function(e){return e.target!==e.currentTarget?null:n.closeQuickNavigationModal.apply(null,arguments)}}},[a("div",{staticClass:"quick-navigation__container",class:{focus:n.focusedInput}},[a("FilterInput",{staticClass:"quick-navigation__filter",attrs:{placeholder:n.$t("filter.search-symbols",{technology:n.technology}),focusInputWhenCreated:"",focusInputWhenEmpty:"",preventBorderStyle:"",selectInputOnFocus:""},on:{input:function(e){n.focusedIndex=0},focus:function(e){n.focusedInput=!0},blur:function(e){n.focusedInput=!1}},scopedSlots:n._u([{key:"icon",fn:function(){return[a("div",{staticClass:"quick-navigation__magnifier-icon-container",class:{blue:n.userInput.length}},[a("MagnifierIcon")],1)]},proxy:!0}]),model:{value:n.userInput,callback:function(e){n.userInput=e},expression:"userInput"}}),a("div",{staticClass:"quick-navigation__match-list",class:{active:n.processedUserInput.length}},[n.noResultsWereFound?a("div",{staticClass:"no-results"},[a("p",[n._v(" No results found. ")])]):[a("div",n._b({staticClass:"quick-navigation__refs"},"div",(e={},e[n.SCROLL_LOCK_DISABLE_ATTR]=!0,e),!1),n._l(n.filteredSymbols,(function(e,t){return a("Reference",{key:e.uid,staticClass:"quick-navigation__reference",attrs:{url:e.path},nativeOn:{click:function(e){return n.closeQuickNavigationModal.apply(null,arguments)},focus:function(e){return n.focusIndex(t)}}},[a("div",{ref:"match",refInFor:!0,staticClass:"quick-navigation__symbol-match",class:{selected:t==n.focusedIndex},attrs:{role:"list"}},[a("div",{staticClass:"symbol-info"},[a("div",{staticClass:"symbol-name"},[a("TopicTypeIcon",{staticClass:"navigator-icon",attrs:{type:e.type}}),a("div",{staticClass:"symbol-title"},[a("span",{domProps:{textContent:n._s(n.formatSymbolTitle(e.title,0,e.start))}}),a("QuickNavigationHighlighter",{attrs:{text:e.substring,matcherText:n.processedUserInput}}),a("span",{domProps:{textContent:n._s(n.formatSymbolTitle(e.title,e.start+e.matchLength))}})],1)],1),a("div",{staticClass:"symbol-path"},n._l(e.parents,(function(t,i){return a("div",{key:t.title},[a("span",{staticClass:"parent-path",domProps:{textContent:n._s(t.title)}}),i!==e.parents.length-1?a("span",{staticClass:"parent-path",domProps:{textContent:n._s("/")}}):n._e()])})),0)])])])})),1),n.previewState?a("Preview",n._b({staticClass:"quick-navigation__preview",attrs:{json:n.previewJSON,state:n.previewState}},"Preview",(t={},t[n.SCROLL_LOCK_DISABLE_ATTR]=!0,t),!1)):n._e()]],2)],1)])])},dr=[],ur=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"filter",class:{focus:e.showSuggestedTags&&!e.preventBorderStyle},attrs:{role:"search",tabindex:"0","aria-labelledby":e.searchAriaLabelledBy},on:{"!blur":function(t){return e.handleBlur.apply(null,arguments)},"!focus":function(t){return e.handleFocus.apply(null,arguments)}}},[n("div",{class:["filter__wrapper",{"filter__wrapper--reversed":e.positionReversed,"filter__wrapper--no-border-style":e.preventBorderStyle}]},[n("div",{staticClass:"filter__top-wrapper"},[n("button",{staticClass:"filter__filter-button",class:{blue:e.inputIsNotEmpty},attrs:{"aria-hidden":"true",tabindex:"-1"},on:{click:e.focusInput,mousedown:function(e){e.preventDefault()}}},[e._t("icon",(function(){return[n("FilterIcon")]}))],2),n("div",{class:["filter__input-box-wrapper",{scrolling:e.isScrolling}],on:{scroll:e.handleScroll}},[e.hasSelectedTags?n("TagList",e._g(e._b({ref:"selectedTags",staticClass:"filter__selected-tags",attrs:{id:e.SelectedTagsId,input:e.input,tags:e.selectedTags,ariaLabel:e.$tc("filter.selected-tags",e.suggestedTags.length),activeTags:e.activeTags,translatableTags:e.translatableTags,areTagsRemovable:""},on:{"focus-prev":e.handleFocusPrevOnSelectedTags,"focus-next":e.focusInputFromTags,"reset-filters":e.resetFilters,"prevent-blur":function(t){return e.$emit("update:preventedBlur",!0)}}},"TagList",e.virtualKeyboardBind,!1),e.selectedTagsMultipleSelectionListeners)):e._e(),n("label",{staticClass:"filter__input-label",attrs:{id:"filter-label",for:e.FilterInputId,"data-value":e.modelValue,"aria-label":e.placeholder}},[n("input",e._g(e._b({directives:[{name:"model",rawName:"v-model",value:e.modelValue,expression:"modelValue"}],ref:"input",staticClass:"filter__input",attrs:{id:e.FilterInputId,placeholder:e.hasSelectedTags?"":e.placeholder,"aria-expanded":e.displaySuggestedTags?"true":"false",disabled:e.disabled,type:"text"},domProps:{value:e.modelValue},on:{focus:function(t){e.selectInputOnFocus&&e.selectInputAndTags()},keydown:[function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"down",40,t.key,["Down","ArrowDown"])?null:(t.preventDefault(),e.downHandler.apply(null,arguments))},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"up",38,t.key,["Up","ArrowUp"])?null:(t.preventDefault(),e.upHandler.apply(null,arguments))},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"left",37,t.key,["Left","ArrowLeft"])||"button"in t&&0!==t.button?null:e.leftKeyInputHandler.apply(null,arguments)},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"right",39,t.key,["Right","ArrowRight"])||"button"in t&&2!==t.button?null:e.rightKeyInputHandler.apply(null,arguments)},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"delete",[8,46],t.key,["Backspace","Delete","Del"])?null:e.deleteHandler.apply(null,arguments)},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"a",void 0,t.key,void 0)?null:t.metaKey?(t.preventDefault(),t.stopPropagation(),e.selectInputAndTags.apply(null,arguments)):null},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"a",void 0,t.key,void 0)?null:t.ctrlKey?(t.preventDefault(),e.selectInputAndTags.apply(null,arguments)):null},function(t){return t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:e.inputKeydownHandler.apply(null,arguments)},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:e.enterHandler.apply(null,arguments)},function(t){return t.shiftKey?t.ctrlKey||t.altKey||t.metaKey?null:e.inputKeydownHandler.apply(null,arguments):null},function(t){return t.shiftKey&&t.metaKey?t.ctrlKey||t.altKey?null:e.inputKeydownHandler.apply(null,arguments):null},function(t){return t.metaKey?t.ctrlKey||t.shiftKey||t.altKey?null:e.assignEventValues.apply(null,arguments):null},function(t){return t.ctrlKey?t.shiftKey||t.altKey||t.metaKey?null:e.assignEventValues.apply(null,arguments):null}],input:function(t){t.target.composing||(e.modelValue=t.target.value)}}},"input",e.AXinputProperties,!1),e.inputMultipleSelectionListeners))])],1),n("div",{staticClass:"filter__delete-button-wrapper"},[e.input.length||e.displaySuggestedTags||e.hasSelectedTags?n("button",{staticClass:"filter__delete-button",attrs:{"aria-label":e.$t("filter.reset-filter")},on:{click:function(t){return e.resetFilters(!0)},keydown:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.stopPropagation(),e.resetFilters(!0))},mousedown:function(e){e.preventDefault()}}},[n("ClearRoundedIcon")],1):e._e()])]),e.displaySuggestedTags?n("TagList",e._b({ref:"suggestedTags",staticClass:"filter__suggested-tags",attrs:{id:e.SuggestedTagsId,ariaLabel:e.$tc("filter.suggested-tags",e.suggestedTags.length),input:e.input,tags:e.suggestedTags,translatableTags:e.translatableTags},on:{"click-tags":function(t){return e.selectTag(t.tagName)},"prevent-blur":function(t){return e.$emit("update:preventedBlur",!0)},"focus-next":function(t){e.positionReversed?e.focusInput():e.$emit("focus-next")},"focus-prev":function(t){e.positionReversed?e.$emit("focus-prev"):e.focusInput()}}},"TagList",e.virtualKeyboardBind,!1)):e._e()],1)])},hr=[],pr=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{staticClass:"clear-rounded-icon",attrs:{viewBox:"0 0 16 16",themeId:"clear-rounded"}},[n("title",[e._v(e._s(e.$t("icons.clear")))]),n("path",{attrs:{d:"M14.55,0l1.45,1.45-6.56,6.55,6.54,6.54-1.45,1.45-6.53-6.53L1.47,15.99,.01,14.53l6.52-6.53L0,1.47,1.45,.02l6.55,6.54L14.55,0Z","fill-rule":"evenodd"}})])},gr=[],fr=n("be08"),mr={name:"ClearRoundedIcon",components:{SVGIcon:fr["a"]}},yr=mr,vr=Object(K["a"])(yr,pr,gr,!1,null,null,null),br=vr.exports;function Tr(){if(window.getSelection)try{const{activeElement:e}=document;return e&&e.value?e.value.substring(e.selectionStart,e.selectionEnd):window.getSelection().toString()}catch(e){return""}else if(document.selection&&"Control"!==document.selection.type)return document.selection.createRange().text;return""}function Sr(e){if("number"===typeof e.selectionStart)e.selectionStart=e.selectionEnd=e.value.length;else if("undefined"!==typeof e.createTextRange){e.focus();const t=e.createTextRange();t.collapse(!1),t.select()}}function _r(e){e.selectionStart=e.selectionEnd=0}function Cr(e){return/^[\w\W\s]$/.test(e)}function kr(e){const t=e.match(/<data (?:.*?)id="copy-data"(?:.*?)>(.*)<\/data>/);try{return t?JSON.parse(t[1]):null}catch(n){return null}}function wr(e){return"string"!==typeof e&&(e=JSON.stringify(e)),`<data id="copy-data">${e}</data>`}function Ir(e,t,n,i){let a,s;return function(...r){function o(){clearTimeout(a),a=null}function l(){o(),e.apply(s,r)}if(s=this,!a||!n&&!i){if(!n)return o(),void(a=setTimeout(l,t));a=setTimeout(o,t),e.apply(s,r)}}}const xr=280,$r=100;var Or={data(){return{keyboardIsVirtual:!1,activeTags:[],initTagIndex:null,focusedTagIndex:null,metaKey:!1,shiftKey:!1,tabbing:!1,debouncedHandleDeleteTag:null}},constants:{DebounceDelay:xr,VirtualKeyboardThreshold:$r},computed:{virtualKeyboardBind:({keyboardIsVirtual:e})=>({keyboardIsVirtual:e}),allSelectedTagsAreActive:({selectedTags:e,activeTags:t})=>e.every(e=>t.includes(e))},methods:{selectRangeActiveTags(e=this.focusedTagIndex,t=this.selectedTags.length){this.activeTags=this.selectedTags.slice(e,t)},selectTag(e){this.updateSelectedTags([e]),this.clearFilterOnTagSelect&&this.setFilterInput("")},unselectActiveTags(){this.activeTags.length&&(this.deleteTags(this.activeTags),this.resetActiveTags())},async deleteHandler(e){this.activeTags.length>0&&this.setSelectedTags(this.selectedTags.filter(e=>!this.activeTags.includes(e))),this.inputIsSelected()&&this.allSelectedTagsAreActive?(e.preventDefault(),await this.resetFilters()):0===this.$refs.input.selectionEnd&&this.hasSelectedTags&&(e.preventDefault(),this.keyboardIsVirtual?this.setSelectedTags(this.selectedTags.slice(0,-1)):this.$refs.selectedTags.focusLast()),this.unselectActiveTags()},leftKeyInputHandler(e){if(this.assignEventValues(e),this.hasSelectedTags){if(this.activeTags.length&&!this.shiftKey)return e.preventDefault(),void this.$refs.selectedTags.focusTag(this.activeTags[0]);if(this.shiftKey&&0===this.$refs.input.selectionStart&&"forward"!==this.$refs.input.selectionDirection)return null===this.focusedTagIndex&&(this.focusedTagIndex=this.selectedTags.length),this.focusedTagIndex>0&&(this.focusedTagIndex-=1),this.initTagIndex=this.selectedTags.length,void this.selectTagsPressingShift();(0===this.$refs.input.selectionEnd||this.inputIsSelected())&&this.$refs.selectedTags.focusLast()}},rightKeyInputHandler(e){if(this.assignEventValues(e),this.activeTags.length&&this.shiftKey&&this.focusedTagIndex<this.selectedTags.length){if(this.initTagIndex<this.selectedTags.length)return void this.selectRangeActiveTags(this.initTagIndex,this.focusedTagIndex+1);e.preventDefault(),this.focusedTagIndex+=1,this.selectRangeActiveTags()}},async enterHandler(){this.$refs.input.blur()},inputKeydownHandler(e){const{key:t}=e;this.inputIsSelected()&&Cr(t)&&this.allSelectedTagsAreActive&&this.resetFilters(),this.multipleTagsSelectionHandler({event:e,tagName:""})},selectedTagsKeydownHandler({event:e,tagName:t}){"Enter"===e.key&&e.preventDefault(),this.multipleTagsSelectionHandler({event:e,tagName:t})},selectInputTextToTags(){const{input:e}=this.$refs;e.selectionStart===e.selectionEnd?e.setSelectionRange(0,e.selectionEnd):e.setSelectionRange(e.selectionStart,e.selectionEnd),this.focusInput()},selectTagsPressingShift(){null!==this.initTagIndex&&this.shiftKey&&!this.metaKey&&(this.initTagIndex<this.focusedTagIndex?this.selectRangeActiveTags(this.initTagIndex,this.focusedTagIndex+1):this.selectRangeActiveTags(this.focusedTagIndex,this.initTagIndex+1))},focusTagHandler({event:e={},tagName:t}){this.focusedTagIndex=this.selectedTags.indexOf(t);const n=e.relatedTarget;if(n&&n.matches("input")&&this.shiftKey&&!this.metaKey&&!this.tabbing&&0!==this.$refs.input.selectionEnd)return this.selectInputTextToTags(),void this.selectRangeActiveTags();this.selectTagsPressingShift()},focusInputFromTags(){this.focusInput(),_r(this.$refs.input)},selectToDirections(e){this.metaKey&&this.shiftKey&&("ArrowRight"===e?(this.selectRangeActiveTags(this.initTagIndex,this.selectedTags.length),this.input.length?this.$refs.input.select():this.$refs.selectedTags.focusTag(this.selectedTags[this.selectedTags.length-1])):"ArrowLeft"===e&&(this.selectRangeActiveTags(0,this.initTagIndex+1),this.input.length||this.$refs.selectedTags.focusTag(this.selectedTags[0])))},metaKeyClickSelection(e,t){this.metaKey&&e instanceof MouseEvent&&(this.activeTags.includes(t)?(this.activeTags.splice(this.activeTags.indexOf(t),1),this.activeTags.length?this.$refs.selectedTags.focusTag(this.activeTags[0]):this.focusInput()):this.activeTags.push(t))},assignEventValues(e={}){const{shiftKey:t=!1,metaKey:n=!1,ctrlKey:i=!1,key:a}=e;this.tabbing="Tab"===a,this.metaKey=n||i,this.shiftKey=t},initTag(e){null!==this.initTagIndex||this.activeTags.includes(e)||(e?(this.initTagIndex=this.selectedTags.indexOf(e),this.activeTags.push(e)):this.initTagIndex=this.selectedTags.length)},multipleTagsSelectionHandler({event:e=new KeyboardEvent("keydown",{}),tagName:t}){const{key:n=""}=e;"Enter"!==n&&(this.assignEventValues(e),!this.shiftKey&&!this.metaKey||this.tabbing?"Backspace"!==n&&this.resetActiveTags():this.initTag(t),this.selectToDirections(n))},resetActiveTags(){this.activeTags=[],this.initTagIndex=null,this.metaKey=!1,this.tabbing=!1,this.shiftKey=!1,this.focusedTagIndex=null},selectInputAndTags(){this.activeTags=[...this.selectedTags],this.input.length?(this.$refs.input.select(),this.initTagIndex=this.activeTags.length,this.focusedTagIndex=0):this.activeTags.length&&(this.initTagIndex=this.activeTags.length-1,this.$refs.selectedTags.focusTag(this.activeTags[0]))},handleSingleTagClick({event:e,tagName:t}){this.keyboardIsVirtual?(this.debouncedHandleDeleteTag||(this.debouncedHandleDeleteTag=Ir(this.handleDeleteTag,xr)),this.debouncedHandleDeleteTag({tagName:t,event:e})):(this.assignEventValues(e),this.metaKeyClickSelection(e,t),this.multipleTagsSelectionHandler({event:e,tagName:t}))},inputIsSelected(){return this.input.length&&Tr()===this.input},inputHasPartialTextSelected(){const e=Tr();return!this.inputIsSelected()&&e.length&&this.input.includes(e)},updateKeyboardType:Ir((function(e){const t=window.innerHeight-e.target.height;t>=$r&&(this.keyboardIsVirtual=!0)}),xr),setFilterInput(e){this.$emit("update:input",e)},setSelectedTags(e){this.$emit("update:selectedTags",e)},updateSelectedTags(e){this.setSelectedTags([...new Set([...this.selectedTags,...e])])},handleCopy(e){e.preventDefault();const t=[],n={tags:[],input:Tr()};if(this.activeTags.length){const e=this.activeTags;n.tags=e,t.push(e.join(" "))}return t.push(n.input),n.tags.length||n.input.length?(e.clipboardData.setData("text/html",wr(n)),e.clipboardData.setData("text/plain",t.join(" ")),n):n},handleCut(e){e.preventDefault();const{input:t,tags:n}=this.handleCopy(e);if(!t&&!n.length)return;const i=this.selectedTags.filter(e=>!n.includes(e)),a=this.input.replace(t,"");this.setSelectedTags(i),this.setFilterInput(a)},handlePaste(e){e.preventDefault();const{types:t}=e.clipboardData;let n=[],i=e.clipboardData.getData("text/plain");if(t.includes("text/html")){const t=e.clipboardData.getData("text/html"),a=kr(t);a&&({tags:n=[],input:i=""}=a)}const a=Tr();i=a.length?this.input.replace(a,i):Object(nn["f"])(this.input,i,document.activeElement.selectionStart),this.setFilterInput(i.trim()),this.allSelectedTagsAreActive?this.setSelectedTags(n):this.updateSelectedTags(n),this.resetActiveTags()},async handleDeleteTag({tagName:e,event:t={}}){const{key:n}=t;this.activeTags.length||this.deleteTags([e]),this.unselectActiveTags(),await this.$nextTick(),Sr(this.$refs.input),this.hasSelectedTags&&(await this.focusInput(),"Backspace"===n&&_r(this.$refs.input))}},mounted(){window.visualViewport&&(window.visualViewport.addEventListener("resize",this.updateKeyboardType),this.$once("hook:beforeDestroy",()=>{window.visualViewport.removeEventListener("resize",this.updateKeyboardType)}))}};const Dr=1e3;var Pr={constants:{ScrollingDebounceDelay:Dr},data(){return{isScrolling:!1,scrollRemovedAt:0}},created(){this.deleteScroll=Ir(this.deleteScroll,Dr)},methods:{deleteScroll(){this.isScrolling=!1,this.scrollRemovedAt=Date.now()},handleScroll(e){const{target:t}=e;if(0!==t.scrollTop)return t.scrollTop=0,void e.preventDefault();const n=150,i=t.offsetWidth,a=i+n;if(t.scrollWidth<a)return;const s=Date.now()-this.scrollRemovedAt;s<Dr/10||(this.isScrolling=!0,t.style.getPropertyValue("--scroll-target-height")||t.style.setProperty("--scroll-target-height",t.offsetHeight+"px"),this.deleteScroll())}}},Lr=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{staticClass:"filter-icon",attrs:{height:"14",width:"14",viewBox:"0 0 14 14",fill:"currentColor",themeId:"filter"}},[n("path",{attrs:{d:"m2 6.5h10v1h-10z"}}),n("path",{attrs:{d:"m1 3h12v1h-12z"}}),n("path",{attrs:{d:"m3 10h8v1h-8z"}})])},Ar=[],Nr={name:"FilterIcon",components:{SVGIcon:fr["a"]}},Er=Nr,jr=Object(K["a"])(Er,Lr,Ar,!1,null,null,null),Br=jr.exports,Rr=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"tags"},[n("div",{ref:"scroll-wrapper",staticClass:"scroll-wrapper",class:{scrolling:e.isScrolling},on:{scroll:e.handleScroll}},[n("ul",{ref:"tags",attrs:{id:e.id+"-tags","aria-label":e.ariaLabel,tabindex:"0",role:"listbox","aria-multiselectable":e.areTagsRemovable?"true":"false","aria-orientation":"horizontal"},on:{"!keydown":[function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"left",37,t.key,["Left","ArrowLeft"])||"button"in t&&0!==t.button?null:(t.preventDefault(),e.focusPrev.apply(null,arguments))},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"right",39,t.key,["Right","ArrowRight"])||"button"in t&&2!==t.button?null:(t.preventDefault(),e.focusNext.apply(null,arguments))},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"up",38,t.key,["Up","ArrowUp"])?null:(t.preventDefault(),e.focusPrev.apply(null,arguments))},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"down",40,t.key,["Down","ArrowDown"])?null:(t.preventDefault(),e.focusNext.apply(null,arguments))},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"a",void 0,t.key,void 0)?null:t.metaKey?(t.preventDefault(),e.$emit("select-all")):null},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"a",void 0,t.key,void 0)?null:t.ctrlKey?(t.preventDefault(),e.$emit("select-all")):null},function(t){return t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:e.handleKeydown.apply(null,arguments)},function(t){return t.shiftKey?t.ctrlKey||t.altKey||t.metaKey?null:e.handleKeydown.apply(null,arguments):null}],keydown:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"delete",[8,46],t.key,["Backspace","Delete","Del"])?null:(t.preventDefault(),t.target!==t.currentTarget?null:e.$emit("reset-filters"))}}},e._l(e.tags,(function(t,i){return n("Tag",{key:t.id||i,ref:"tag",refInFor:!0,attrs:{name:t.label||t,isFocused:e.focusedIndex===i,isRemovableTag:e.areTagsRemovable,filterText:e.input,isTranslatableTag:e.translatableTags.includes(t),isActiveTag:e.activeTags.includes(t),activeTags:e.activeTags,keyboardIsVirtual:e.keyboardIsVirtual},on:{focus:function(t){return e.handleFocus(t,i)},click:function(t){return e.$emit("click-tags",t)},"delete-tag":function(t){return e.$emit("delete-tag",t)},"prevent-blur":function(t){return e.$emit("prevent-blur")},"paste-content":function(t){return e.$emit("paste-tags",t)},keydown:function(t){return e.$emit("keydown",t)}}})})),1)])])},Mr=[],zr={data(){return{focusedIndex:0,externalFocusChange:!1}},methods:{focusIndex(e){e<0||(this.focusedIndex=e)},focusPrev({metaKey:e,ctrlKey:t,shiftKey:n}){(e||t)&&n||(this.externalFocusChange=!1,this.focusedIndex>0?this.focusIndex(this.focusedIndex-1):this.startingPointHook())},focusNext({metaKey:e,ctrlKey:t,shiftKey:n}){(e||t)&&n||(this.externalFocusChange=!1,this.focusedIndex<this.totalItemsToNavigate-1?this.focusIndex(this.focusedIndex+1):this.endingPointHook())},async focusFirst(){this.externalFocusChange=!1,this.focusIndex(null),await this.$nextTick(),this.focusIndex(0),this.scrollToFocus()},async focusLast(){this.externalFocusChange=!1,this.focusIndex(null),await this.$nextTick(),this.focusIndex(this.totalItemsToNavigate-1),this.scrollToFocus()},startingPointHook(){},endingPointHook(){},scrollToFocus(){}},computed:{totalItemsToNavigate:()=>0}},Kr=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("li",{staticClass:"tag",attrs:{role:"presentation"}},[n("button",{ref:"button",class:{focus:e.isActiveTag},attrs:{role:"option","aria-selected":e.ariaSelected,"aria-roledescription":"tag"},on:{focus:function(t){return e.$emit("focus",{event:t,tagName:e.name})},click:function(t){return t.preventDefault(),e.$emit("click",{event:t,tagName:e.name})},dblclick:function(t){t.preventDefault(),!e.keyboardIsVirtual&&e.deleteTag()},keydown:[function(t){return t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:e.$emit("keydown",{event:t,tagName:e.name})},function(t){return t.shiftKey?t.ctrlKey||t.altKey||t.metaKey?null:e.$emit("keydown",{event:t,tagName:e.name}):null},function(t){return t.shiftKey&&t.metaKey?t.ctrlKey||t.altKey?null:e.$emit("keydown",{event:t,tagName:e.name}):null},function(t){return t.metaKey?t.ctrlKey||t.shiftKey||t.altKey?null:e.$emit("keydown",{event:t,tagName:e.name}):null},function(t){return t.ctrlKey?t.shiftKey||t.altKey||t.metaKey?null:e.$emit("keydown",{event:t,tagName:e.name}):null},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"delete",[8,46],t.key,["Backspace","Delete","Del"])?null:(t.preventDefault(),e.deleteTag.apply(null,arguments))}],mousedown:function(t){return t.preventDefault(),e.focusButton.apply(null,arguments)},copy:e.handleCopy}},[e.isRemovableTag?e._e():n("span",{staticClass:"visuallyhidden"},[e._v(" "+e._s(e.$t("filter.add-tag"))+" - ")]),e.isTranslatableTag?[e._v(" "+e._s(e.$t(e.name))+" ")]:[e._v(" "+e._s(e.name)+" ")],e.isRemovableTag?n("span",{staticClass:"visuallyhidden"},[e._v(" – "+e._s(e.$t("filter.tag-select-remove"))+" ")]):e._e()],2)])},qr=[],Fr={name:"Tag",props:{name:{type:String,required:!0},isFocused:{type:Boolean,default:()=>!1},isRemovableTag:{type:Boolean,default:!1},isTranslatableTag:{type:Boolean,default:!1},isActiveTag:{type:Boolean,default:!1},activeTags:{type:Array,required:!1},keyboardIsVirtual:{type:Boolean,default:!1}},watch:{isFocused(e){e&&this.focusButton()}},mounted(){document.addEventListener("copy",this.handleCopy),document.addEventListener("cut",this.handleCut),document.addEventListener("paste",this.handlePaste),this.$once("hook:beforeDestroy",()=>{document.removeEventListener("copy",this.handleCopy),document.removeEventListener("cut",this.handleCut),document.removeEventListener("paste",this.handlePaste)})},methods:{isCurrentlyActiveElement(){return document.activeElement===this.$refs.button},handleCopy(e){if(!this.isCurrentlyActiveElement())return;e.preventDefault();let t=[];t=this.activeTags.length>0?this.activeTags:[this.name],e.clipboardData.setData("text/html",wr({tags:t})),e.clipboardData.setData("text/plain",t.join(" "))},handleCut(e){this.isCurrentlyActiveElement()&&this.isRemovableTag&&(this.handleCopy(e),this.deleteTag(e))},handlePaste(e){this.isCurrentlyActiveElement()&&this.isRemovableTag&&(e.preventDefault(),this.deleteTag(e),this.$emit("paste-content",e))},deleteTag(e){this.$emit("delete-tag",{tagName:this.name,event:e}),this.$emit("prevent-blur")},focusButton(e={}){this.keyboardIsVirtual||this.$refs.button.focus(),0===e.buttons&&this.isFocused&&this.deleteTag(e)}},computed:{ariaSelected:({isActiveTag:e,isRemovableTag:t})=>t?e?"true":"false":null}},Hr=Fr,Vr=(n("f055"),Object(K["a"])(Hr,Kr,qr,!1,null,"7e76f326",null)),Wr=Vr.exports,Ur={name:"Tags",mixins:[Pr,zr],props:{tags:{type:Array,default:()=>[]},activeTags:{type:Array,default:()=>[]},translatableTags:{type:Array,default:()=>[]},ariaLabel:{type:String,required:!1},id:{type:String,required:!1},input:{type:String,default:null},areTagsRemovable:{type:Boolean,default:!1},keyboardIsVirtual:{type:Boolean,default:!1}},components:{Tag:Wr},methods:{focusTag(e){this.focusIndex(this.tags.indexOf(e))},startingPointHook(){this.$emit("focus-prev")},handleFocus(e,t){this.focusIndex(t),this.isScrolling=!1,this.$emit("focus",e)},endingPointHook(){this.$emit("focus-next")},resetScroll(){this.$refs["scroll-wrapper"].scrollLeft=0},handleKeydown(e){const{key:t}=e,n=this.tags[this.focusedIndex];Cr(t)&&n&&this.$emit("delete-tag",{tagName:n.label||n,event:e})}},computed:{totalItemsToNavigate:({tags:e})=>e.length}},Gr=Ur,Qr=(n("9f17"),Object(K["a"])(Gr,Rr,Mr,!1,null,"1f2bd813",null)),Xr=Qr.exports;const Yr=5,Jr="filter-input",Zr="selected-tags",eo="suggested-tags",to={autocorrect:"off",autocapitalize:"off",spellcheck:"false",role:"combobox","aria-haspopup":"true","aria-autocomplete":"none","aria-owns":"suggestedTags","aria-controls":"suggestedTags"};var no,io,ao={name:"FilterInput",mixins:[Pr,Or],constants:{FilterInputId:Jr,SelectedTagsId:Zr,SuggestedTagsId:eo,AXinputProperties:to,TagLimit:Yr},components:{TagList:Xr,ClearRoundedIcon:br,FilterIcon:Br},props:{positionReversed:{type:Boolean,default:()=>!1},tags:{type:Array,default:()=>[]},selectedTags:{type:Array,default:()=>[]},preventedBlur:{type:Boolean,default:()=>!1},placeholder:{type:String,default:()=>""},disabled:{type:Boolean,default:()=>!1},value:{type:String,default:()=>""},shouldTruncateTags:{type:Boolean,default:!1},focusInputWhenCreated:{type:Boolean,default:!1},focusInputWhenEmpty:{type:Boolean,default:!1},selectInputOnFocus:{type:Boolean,default:!1},clearFilterOnTagSelect:{type:Boolean,default:!0},preventBorderStyle:{type:Boolean,default:!1},translatableTags:{type:Array,default:()=>[]}},data(){return{resetedTagsViaDeleteButton:!1,FilterInputId:Jr,SelectedTagsId:Zr,SuggestedTagsId:eo,AXinputProperties:to,showSuggestedTags:!1}},computed:{hasSuggestedTags:({suggestedTags:e})=>e.length,hasSelectedTags:({selectedTags:e})=>e.length,inputIsNotEmpty:({input:e,hasSelectedTags:t})=>e.length||t,searchAriaLabelledBy:({hasSelectedTags:e})=>e?Jr.concat(" ",Zr):Jr,modelValue:{get:({value:e})=>e,set(e){this.$emit("input",e)}},input:({value:e})=>e,suggestedTags:({tags:e,selectedTags:t,shouldTruncateTags:n})=>{const i=e.filter(e=>!t.includes(e));return n?i.slice(0,Yr):i},displaySuggestedTags:({showSuggestedTags:e,suggestedTags:t})=>e&&t.length>0,inputMultipleSelectionListeners:({resetActiveTags:e,handleCopy:t,handleCut:n,handlePaste:i})=>({click:e,copy:t,cut:n,paste:i}),selectedTagsMultipleSelectionListeners:({handleSingleTagClick:e,selectInputAndTags:t,handleDeleteTag:n,selectedTagsKeydownHandler:i,focusTagHandler:a,handlePaste:s})=>({"click-tags":e,"select-all":t,"delete-tag":n,keydown:i,focus:a,"paste-tags":s})},watch:{async selectedTags(){this.resetedTagsViaDeleteButton?this.resetedTagsViaDeleteButton=!1:this.$el.contains(document.activeElement)&&await this.focusInput(),this.displaySuggestedTags&&this.hasSuggestedTags&&this.$refs.suggestedTags.resetScroll()},suggestedTags:{immediate:!0,handler(e){this.$emit("suggested-tags",e)}},showSuggestedTags(e){this.$emit("show-suggested-tags",e)}},methods:{async focusInput(){await this.$nextTick(),this.$refs.input.focus(),!this.input&&this.resetActiveTags&&this.resetActiveTags()},async resetFilters(e=!1){if(this.setFilterInput(""),this.setSelectedTags([]),!e)return this.$emit("update:preventedBlur",!0),this.resetActiveTags&&this.resetActiveTags(),void await this.focusInput();this.resetedTagsViaDeleteButton=!0,this.showSuggestedTags=!1,this.$refs.input.blur()},focusFirstTag(e=(()=>{})){this.showSuggestedTags||(this.showSuggestedTags=!0),this.hasSuggestedTags&&this.$refs.suggestedTags?this.$refs.suggestedTags.focusFirst():e()},setFilterInput(e){this.$emit("input",e)},setSelectedTags(e){this.$emit("update:selectedTags",e)},deleteTags(e){this.setSelectedTags(this.selectedTags.filter(t=>!e.includes(t)))},async handleBlur(e){const t=e.relatedTarget;t&&t.matches&&t.matches("button, input, ul")&&this.$el.contains(t)||(await this.$nextTick(),this.resetActiveTags(),this.preventedBlur?this.$emit("update:preventedBlur",!1):(this.showSuggestedTags=!1,this.$emit("blur")))},downHandler(e){const t=()=>this.$emit("focus-next",e);this.positionReversed?t():this.focusFirstTag(t)},upHandler(e){const t=()=>this.$emit("focus-prev",e);this.positionReversed?this.focusFirstTag(t):t()},handleFocusPrevOnSelectedTags(){this.positionReversed?this.focusFirstTag(()=>this.$emit("focus-prev")):this.$emit("focus-prev")},handleFocus(){this.showSuggestedTags=!0,this.$emit("focus")}},created(){this.focusInputWhenCreated&&document.activeElement!==this.$refs.input&&(this.inputIsNotEmpty||this.focusInputWhenEmpty)&&this.focusInput()}},so=ao,ro=(n("7309"),Object(K["a"])(so,ur,hr,!1,null,"3f01a546",null)),oo=ro.exports,lo=n("c161"),co={name:"QuickNavigationHighlighter",props:{text:{type:String,required:!0},matcherText:{type:String,default:""}},render(e){const{matcherText:t,text:n}=this,i=[];let a=0;return t?([...t].forEach(t=>{const s=n.toLowerCase().indexOf(t.toLowerCase(),a);a&&i.push(e("span",n.slice(a,s)));const r=s+1;i.push(e("span",{class:"match"},n.slice(s,r))),a=r}),e("p",{class:"highlight"},i)):e("span",{class:"highlight"},n)}},uo=co,ho=(n("ca3d"),Object(K["a"])(uo,no,io,!1,null,"1c4190f0",null)),po=ho.exports,go=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{staticClass:"magnifier-icon",attrs:{viewBox:"0 0 14 14",themeId:"magnifier"}},[n("path",{attrs:{d:"M15.0013 14.0319L10.9437 9.97424C11.8165 8.88933 12.2925 7.53885 12.2929 6.14645C12.2929 2.75841 9.53449 0 6.14645 0C2.75841 0 0 2.75841 0 6.14645C0 9.53449 2.75841 12.2929 6.14645 12.2929C7.57562 12.2929 8.89486 11.7932 9.94425 10.9637L14.0019 15.0213L15.0013 14.0319ZM6.13645 11.0736C4.83315 11.071 3.58399 10.5521 2.66241 9.63048C1.74084 8.70891 1.22194 7.45974 1.2193 6.15644C1.2193 3.44801 3.41802 1.23928 6.13645 1.23928C8.85488 1.23928 11.0536 3.44801 11.0536 6.15644C11.0636 8.86488 8.85488 11.0736 6.13645 11.0736Z"}})])},fo=[],mo={name:"MagnifierIcon",components:{SVGIcon:fr["a"]}},yo=mo,vo=Object(K["a"])(yo,go,fo,!1,null,null,null),bo=vo.exports,To=n("86d8"),So=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"preview"},[e.state===e.STATE.success?n("DocumentationTopic",e._b({attrs:{enableMinimized:""}},"DocumentationTopic",e.topicProps,!1)):e.state===e.STATE.loadingSlowly?n("div",{staticClass:"loading"},e._l(e.LOADER_ROW_STYLES,(function(e){return n("div",{key:e["--index"],staticClass:"loading-row",style:e})})),0):e.state===e.STATE.error?n("div",{staticClass:"unavailable"},[n("p",[e._v("Preview unavailable")])]):e._e()],1)},_o=[];const{extractProps:Co}=Is.methods,ko="hero",wo={error:"error",loading:"loading",loadingSlowly:"loadingSlowly",success:"success"},Io={...js,state:Object(w["a"])(js.state)};var xo={name:"QuickNavigationPreview",components:{DocumentationTopic:Is},constants:{PreviewState:wo,PreviewStore:Io},data(){return{store:Io}},provide(){return{store:this.store}},props:{json:{type:Object,required:!1},state:{type:String,required:!0,validator:e=>Object.hasOwnProperty.call(wo,e)}},computed:{LOADER_ROW_STYLES:()=>[{"--index":0,width:"30%"},{"--index":1,width:"80%"},{"--index":2,width:"50%"}],STATE:()=>wo,topicProps:({json:e})=>{const t=Co(e),{sections:n=[]}=e;let{abstract:i}=t;const a=n.find(({kind:e})=>e===ko);return!i&&a&&(i=a.content),{...t,abstract:i}}}},$o=xo,Oo=(n("c1f5"),Object(K["a"])($o,So,_o,!1,null,"6fb5ba95",null)),Do=Oo.exports;class Po{constructor(e){this.map=new Map,this.maxSize=e}get size(){return this.map.size}get(e){if(!this.map.has(e))return;const t=this.map.get(e);return this.map.delete(e),this.map.set(e,t),t}has(e){return this.map.has(e)}set(e,t){if(this.map.has(e)&&this.map.delete(e),this.map.set(e,t),this.map.size>this.maxSize){const e=this.map.keys().next().value;this.map.delete(e)}}*[Symbol.iterator](){yield*this.map}}var Lo=n("f2af");const{PreviewState:Ao}=Do.constants,No="AbortError",Eo=20,jo=1e3;var Bo={name:"QuickNavigationModal",components:{FilterInput:oo,GenericModal:lo["a"],MagnifierIcon:bo,TopicTypeIcon:_e["a"],QuickNavigationHighlighter:po,Reference:To["a"],Preview:Do},mixins:[zr],created(){this.abortController=null,this.$cachedSymbolResults=new Po(Eo),this.loadingTimeout=null},data(){return{debouncedInput:"",userInput:"",focusedInput:!1,cachedSymbolResults:{},previewIsLoadingSlowly:!1,SCROLL_LOCK_DISABLE_ATTR:Lo["a"]}},props:{children:{type:Array,required:!0},showQuickNavigationModal:{type:Boolean,required:!0},technology:{type:String,required:!0}},computed:{childrenMap({children:e}){return Vs(e)},filteredSymbols:({constructFuzzyRegex:e,children:t,fuzzyMatch:n,processedUserInput:i,childrenMap:a,orderSymbolsByPriority:s})=>{const r=t.filter(e=>"groupMarker"!==e.type&&null!=e.title);if(!i)return[];const o=n({inputLength:i.length,symbols:r,processedInputRegex:new RegExp(e(i),"i"),childrenMap:a}),l=[...new Map(o.map(e=>[e.path,e])).values()];return s(l).slice(0,Eo)},isVisible:{get:({showQuickNavigationModal:e})=>e,set(e){this.$emit("update:showQuickNavigationModal",e)}},noResultsWereFound:({processedUserInput:e,totalItemsToNavigate:t})=>e.length&&!t,processedUserInput:({debouncedInput:e})=>e.replace(/\s/g,""),totalItemsToNavigate:({filteredSymbols:e})=>e.length,selectedSymbol:({filteredSymbols:e,focusedIndex:t})=>null!==t?e[t]:null,nextSymbol:({filteredSymbols:e,focusedIndex:t})=>{if(null===t)return null;let n=t+1;return n>=e.length&&(n=0),e[n]},previewJSON:({cachedSymbolResults:e,selectedSymbol:t})=>t?(e[t.uid]||{}).json:null,previewState:({cachedSymbolResults:e,previewIsLoadingSlowly:t,selectedSymbol:n})=>n&&Object.hasOwnProperty.call(e,n.uid)?e[n.uid].success?Ao.success:Ao.error:t?Ao.loadingSlowly:Ao.loading},watch:{userInput:"debounceInput",focusedIndex:"scrollIntoView",selectedSymbol:"fetchSelectedSymbolData",$route:"closeQuickNavigationModal"},methods:{closeQuickNavigationModal(){this.$emit("update:showQuickNavigationModal",!1)},constructFuzzyRegex(e){return[...e].reduce((t,n,i)=>t.concat(`[${n}]`).concat(i<e.length-1?`[^${n.toLowerCase()}]*?`:""),"")},debounceInput:Ir((function(e){this.debouncedInput=e}),250),endingPointHook(){this.focusedIndex=0},formatSymbolTitle(e,t,n){return e.slice(t,n)},fuzzyMatch({inputLength:e,symbols:t,processedInputRegex:n,childrenMap:i}){return t.map(t=>{const a=n.exec(t.title);if(!a)return!1;const s=a[0].length;return!(s>3*e)&&{uid:t.uid,title:t.title,path:t.path,parents:Qs(t.parent,i),type:t.type,inputLengthDifference:t.title.length-e,matchLength:s,matchLengthDifference:s-e,start:a.index,substring:a[0]}}).filter(Boolean)},handleKeyEnter(){!this.noResultsWereFound&&this.userInput.length&&(this.$router.push(this.filteredSymbols[this.focusedIndex].path),this.closeQuickNavigationModal())},orderSymbolsByPriority(e){return e.sort((e,t)=>e.matchLengthDifference>t.matchLengthDifference?1:e.matchLengthDifference<t.matchLengthDifference?-1:e.start>t.start?1:e.start<t.start?-1:e.inputLengthDifference>t.inputLengthDifference?1:e.inputLengthDifference<t.inputLengthDifference?-1:0)},scrollIntoView(){this.$refs.match[this.focusedIndex].scrollIntoView({block:"nearest"})},startingPointHook(){this.focusedIndex=this.totalItemsToNavigate-1},async fetchSelectedSymbolData(){if(this.loadingTimeout=setTimeout(()=>{this.previewState===Ao.loading&&(this.previewIsLoadingSlowly=!0)},jo),!this.selectedSymbol||this.$cachedSymbolResults.has(this.selectedSymbol.uid))return clearTimeout(this.loadingTimeout),void(this.previewIsLoadingSlowly=!1);const e=async e=>{if(e&&!this.$cachedSymbolResults.has(e.uid))try{const t=await Object(w["b"])(e.path,{signal:this.abortController.signal});this.$cachedSymbolResults.set(e.uid,{success:!0,json:t})}catch(t){t.name!==No&&this.$cachedSymbolResults.set(e.uid,{success:!1})}finally{this.cachedSymbolResults=Object.freeze(Object.fromEntries(this.$cachedSymbolResults))}};this.abortController&&this.abortController.abort(),this.abortController=new AbortController,await Promise.all([e(this.selectedSymbol).finally(()=>{clearTimeout(this.loadingTimeout),this.previewIsLoadingSlowly=!1}),e(this.nextSymbol)])}}},Ro=Bo,Mo=(n("dfa5"),Object(K["a"])(Ro,cr,dr,!1,null,"71686791",null)),zo=Mo.exports,Ko=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"adjustable-sidebar-width",class:{dragging:e.isDragging,"sidebar-hidden":e.hiddenOnLarge}},[n("div",{ref:"sidebar",staticClass:"sidebar"},[n("div",{ref:"aside",staticClass:"aside",class:e.asideClasses,style:e.asideStyles,attrs:{"aria-hidden":e.hiddenOnLarge?"true":null},on:{transitionstart:function(t){return t.target!==t.currentTarget?null:e.trackTransitionStart.apply(null,arguments)},transitionend:function(t){return t.target!==t.currentTarget?null:e.trackTransitionEnd.apply(null,arguments)}}},[e._t("aside",null,{animationClass:"aside-animated-child",scrollLockID:e.scrollLockID,breakpoint:e.breakpoint})],2),e.fixedWidth?e._e():n("div",{staticClass:"resize-handle",on:{mousedown:function(t){return t.preventDefault(),e.startDrag.apply(null,arguments)},touchstart:function(t){return t.preventDefault(),e.startDrag.apply(null,arguments)}}})]),n("div",{ref:"content",staticClass:"content"},[e._t("default")],2),n("BreakpointEmitter",{attrs:{scope:e.BreakpointScopes.nav},on:{change:function(t){e.breakpoint=t}}})],1)},qo=[],Fo=n("5d2d"),Ho=n("a97e"),Vo=n("63b8"),Wo=n("c8e2"),Uo=n("95da"),Go=n("942d");const Qo="sidebar",Xo=1921,Yo=543,Jo=400,Zo={touch:{move:"touchmove",end:"touchend"},mouse:{move:"mousemove",end:"mouseup"}},el=(e,t=window.innerWidth)=>{const n=Math.min(t,Xo);return Math.floor(Math.min(n*(e/100),n))},tl={medium:30,large:20},nl={medium:50,large:50},il="sidebar-scroll-lock";var al={name:"AdjustableSidebarWidth",constants:{SCROLL_LOCK_ID:il},components:{BreakpointEmitter:Ho["a"]},inject:["store"],props:{shownOnMobile:{type:Boolean,default:!1},hiddenOnLarge:{type:Boolean,default:!1},fixedWidth:{type:Number,default:null}},data(){const e=window.innerWidth,t=window.innerHeight,n=Vo["b"].large,i=el(tl[n]),a=el(nl[n]),s=e>=Xo?Yo:Jo,r=Fo["c"].get(Qo,s);return{isDragging:!1,width:this.fixedWidth||Math.min(Math.max(r,i),a),isTouch:!1,windowWidth:e,windowHeight:t,breakpoint:n,noTransition:!1,isTransitioning:!1,isOpeningOnLarge:!1,focusTrapInstance:null,mobileTopOffset:0,topOffset:0}},computed:{minWidthPercent:({breakpoint:e})=>tl[e]||0,maxWidthPercent:({breakpoint:e})=>nl[e]||100,maxWidth:({maxWidthPercent:e,windowWidth:t,fixedWidth:n})=>Math.max(n,el(e,t)),minWidth:({minWidthPercent:e,windowWidth:t,fixedWidth:n})=>Math.min(n||t,el(e,t)),widthInPx:({width:e})=>e+"px",hiddenOnLargeThreshold:({minWidth:e})=>e/2,events:({isTouch:e})=>e?Zo.touch:Zo.mouse,asideStyles:({widthInPx:e,mobileTopOffset:t,topOffset:n,windowHeight:i})=>({width:e,"--top-offset":n?n+"px":null,"--top-offset-mobile":t+"px","--app-height":i+"px"}),asideClasses:({isDragging:e,shownOnMobile:t,noTransition:n,isTransitioning:i,hiddenOnLarge:a,mobileTopOffset:s,isOpeningOnLarge:r})=>({dragging:e,"show-on-mobile":t,"hide-on-large":a,"is-opening-on-large":r,"no-transition":n,"sidebar-transitioning":i,"has-mobile-top-offset":s}),scrollLockID:()=>il,BreakpointScopes:()=>Vo["c"]},async mounted(){window.addEventListener("keydown",this.onEscapeKeydown),window.addEventListener("resize",this.storeWindowSize,{passive:!0}),window.addEventListener("orientationchange",this.storeWindowSize,{passive:!0}),this.storeTopOffset(),0===this.topOffset&&0===window.scrollY||window.addEventListener("scroll",this.storeTopOffset,{passive:!0}),this.$once("hook:beforeDestroy",()=>{window.removeEventListener("keydown",this.onEscapeKeydown),window.removeEventListener("resize",this.storeWindowSize),window.removeEventListener("orientationchange",this.storeWindowSize),window.removeEventListener("scroll",this.storeTopOffset),this.shownOnMobile&&this.toggleScrollLock(!1),this.focusTrapInstance&&this.focusTrapInstance.destroy()}),await this.$nextTick(),this.focusTrapInstance=new Wo["a"](this.$refs.aside)},watch:{$route:"closeMobileSidebar",width:{immediate:!0,handler:Ne((function(e){this.emitEventChange(e)}),150)},windowWidth:"getWidthInCheck",async breakpoint(e){this.getWidthInCheck(),e===Vo["b"].large&&this.closeMobileSidebar(),this.noTransition=!0,await Object(Ee["b"])(5),this.noTransition=!1},shownOnMobile:"handleExternalOpen",async isTransitioning(e){e?(await Object(Ee["a"])(1e3),this.isTransitioning=!1):this.updateContentWidthInStore()},hiddenOnLarge(){this.isTransitioning=!0}},methods:{getWidthInCheck:Ir((function(){this.width>this.maxWidth?this.width=this.maxWidth:this.width<this.minWidth&&(this.width=this.minWidth)}),50),onEscapeKeydown({key:e}){"Escape"===e&&this.closeMobileSidebar()},storeWindowSize:Ne((async function(){await this.$nextTick(),this.windowWidth=window.innerWidth,this.windowHeight=window.innerHeight,this.updateContentWidthInStore()}),100),closeMobileSidebar(){this.shownOnMobile&&this.$emit("update:shownOnMobile",!1)},startDrag({type:e}){this.isTouch="touchstart"===e,this.isDragging||(this.isDragging=!0,document.addEventListener(this.events.move,this.handleDrag,{passive:this.isTouch}),document.addEventListener(this.events.end,this.stopDrag))},handleDrag(e){if(this.isTouch||e.preventDefault(),!this.isDragging)return;const{sidebar:t}=this.$refs,n=this.isTouch?e.touches[0].clientX:e.clientX;let i=n+window.scrollX-t.offsetLeft;i>this.maxWidth&&(i=this.maxWidth),this.hiddenOnLarge&&i>=this.hiddenOnLargeThreshold&&(this.$emit("update:hiddenOnLarge",!1),this.isOpeningOnLarge=!0),this.width=Math.max(i,this.minWidth),i<=this.hiddenOnLargeThreshold&&this.$emit("update:hiddenOnLarge",!0)},stopDrag(e){e.preventDefault(),this.isDragging&&(this.isDragging=!1,Fo["c"].set(Qo,this.width),document.removeEventListener(this.events.move,this.handleDrag),document.removeEventListener(this.events.end,this.stopDrag),this.emitEventChange(this.width))},emitEventChange(e){this.$emit("width-change",e),this.updateContentWidthInStore()},getTopOffset(){const e=document.getElementById(Go["e"]);if(!e)return 0;const{y:t}=e.getBoundingClientRect();return Math.max(t,0)},handleExternalOpen(e){e&&(this.mobileTopOffset=this.getTopOffset()),this.toggleScrollLock(e)},async updateContentWidthInStore(){await this.$nextTick(),this.store.setContentWidth(this.$refs.content.offsetWidth)},async toggleScrollLock(e){const t=document.getElementById(this.scrollLockID);e?(await this.$nextTick(),Lo["b"].lockScroll(t),this.focusTrapInstance.start(),Uo["a"].hide(this.$refs.aside)):(Lo["b"].unlockScroll(t),this.focusTrapInstance.stop(),Uo["a"].show(this.$refs.aside))},storeTopOffset:Ne((function(){this.topOffset=this.getTopOffset()}),60),async trackTransitionStart({propertyName:e}){"width"!==e&&"transform"!==e||(this.isTransitioning=!0)},trackTransitionEnd({propertyName:e}){"width"!==e&&"transform"!==e||(this.isTransitioning=!1,this.isOpeningOnLarge=!1)}}},sl=al,rl=(n("cb1f"),Object(K["a"])(sl,Ko,qo,!1,null,"f3c6416c",null)),ol=rl.exports,ll=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("nav",{staticClass:"navigator",attrs:{"aria-labelledby":e.INDEX_ROOT_KEY}},[e.isFetching?n("LoadingNavigatorCard",e._b({on:{close:function(t){return e.$emit("close")}}},"LoadingNavigatorCard",e.technologyProps,!1)):n("NavigatorCard",e._b({attrs:{type:e.type,children:e.flatChildren,"active-path":e.activePath,scrollLockID:e.scrollLockID,"error-fetching":e.errorFetching,"render-filter-on-top":e.renderFilterOnTop,"api-changes":e.apiChanges,"allow-hiding":e.allowHiding,"navigator-references":e.navigatorReferences},on:{close:function(t){return e.$emit("close")}},scopedSlots:e._u([{key:"filter",fn:function(){return[e._t("filter")]},proxy:!0}],null,!0)},"NavigatorCard",e.technologyProps,!1)),n("div",{staticClass:"visuallyhidden",attrs:{"aria-live":"polite"}},[e._v(" "+e._s(e.$t("navigator.navigator-is",{state:e.isFetching?e.$t("navigator.state.loading"):e.$t("navigator.state.ready")}))+" ")])],1)},cl=[],dl=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("BaseNavigatorCard",e._b({class:{"filter-on-top":e.renderFilterOnTop},on:{close:function(t){return e.$emit("close")},"head-click-alt":e.toggleAllNodes},scopedSlots:e._u([{key:"body",fn:function(t){var i=t.className;return[e._t("post-head"),n("div",{class:i,on:{"!keydown":[function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"up",38,t.key,["Up","ArrowUp"])?null:t.altKey?(t.preventDefault(),e.focusFirst.apply(null,arguments)):null},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"down",40,t.key,["Down","ArrowDown"])?null:t.altKey?(t.preventDefault(),e.focusLast.apply(null,arguments)):null},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"up",38,t.key,["Up","ArrowUp"])||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),e.focusPrev.apply(null,arguments))},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"down",40,t.key,["Down","ArrowDown"])||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),e.focusNext.apply(null,arguments))}]}},[n("DynamicScroller",{directives:[{name:"show",rawName:"v-show",value:e.hasNodes,expression:"hasNodes"}],ref:"scroller",staticClass:"scroller",attrs:{id:e.scrollLockID,"aria-label":e.$t("navigator.title"),items:e.nodesToRender,"min-item-size":e.itemSize,"emit-update":"","key-field":"uid"},on:{update:e.handleScrollerUpdate,"!keydown":[function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"up",38,t.key,["Up","ArrowUp"])?null:t.altKey?(t.preventDefault(),e.focusFirst.apply(null,arguments)):null},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"down",40,t.key,["Down","ArrowDown"])?null:t.altKey?(t.preventDefault(),e.focusLast.apply(null,arguments)):null},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"up",38,t.key,["Up","ArrowUp"])||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),e.focusPrev.apply(null,arguments))},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"down",40,t.key,["Down","ArrowDown"])||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),e.focusNext.apply(null,arguments))}]},nativeOn:{focusin:function(t){return e.handleFocusIn.apply(null,arguments)},focusout:function(t){return e.handleFocusOut.apply(null,arguments)}},scopedSlots:e._u([{key:"default",fn:function(t){var i=t.item,a=t.active,s=t.index;return[n("DynamicScrollerItem",e._b({ref:"dynamicScroller_"+i.uid},"DynamicScrollerItem",{active:a,item:i,dataIndex:s},!1),[n("NavigatorCardItem",{attrs:{item:i,isRendered:a,"filter-pattern":e.filterPattern,"is-active":i.uid===e.activeUID,"is-bold":e.activePathMap[i.uid],expanded:e.openNodes[i.uid],"api-change":e.apiChangesObject[i.path],isFocused:e.focusedIndex===s,enableFocus:!e.externalFocusChange,"navigator-references":e.navigatorReferences},on:{toggle:e.toggle,"toggle-full":e.toggleFullTree,"toggle-siblings":e.toggleSiblings,navigate:e.handleNavigationChange,"focus-parent":e.focusNodeParent}})],1)]}}],null,!0)}),n("div",{staticClass:"visuallyhidden",attrs:{"aria-live":"polite"}},[e._v(" "+e._s(e.politeAriaLive)+" ")]),n("div",{staticClass:"no-items-wrapper",attrs:{"aria-live":"assertive"}},[n("p",{staticClass:"no-items"},[e._v(" "+e._s(e.$t(e.assertiveAriaLive))+" ")])])],1),e.errorFetching?e._e():n("div",{staticClass:"filter-wrapper"},[n("div",{staticClass:"navigator-filter"},[n("div",{staticClass:"input-wrapper"},[n("FilterInput",{staticClass:"filter-component",attrs:{tags:e.availableTags,translatableTags:e.translatableTags,"selected-tags":e.selectedTagsModelValue,placeholder:e.$t("filter.title"),"should-keep-open-on-blur":!1,"position-reversed":!e.renderFilterOnTop,"clear-filter-on-tag-select":!1},on:{"update:selectedTags":function(t){e.selectedTagsModelValue=t},"update:selected-tags":function(t){e.selectedTagsModelValue=t},clear:e.clearFilters},model:{value:e.filter,callback:function(t){e.filter=t},expression:"filter"}})],1),e._t("filter")],2)])]}}],null,!0)},"BaseNavigatorCard",{technology:e.technology,isTechnologyBeta:e.isTechnologyBeta,technologyPath:e.technologyPath},!1))},ul=[],hl=n("e508");function pl(e){const t=Object(nn["g"])(Object(nn["d"])(e));return new RegExp(t,"ig")}var gl,fl,ml=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("BaseNavigatorCardItem",{staticClass:"navigator-card-item",class:{expanded:e.expanded,active:e.isActive,"is-group":e.isGroupMarker},style:{"--nesting-index":e.item.depth},attrs:{"data-nesting-index":e.item.depth,id:"container-"+e.item.uid,"aria-hidden":e.isRendered?null:"true",hideNavigatorIcon:e.isGroupMarker},nativeOn:{keydown:[function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"left",37,t.key,["Left","ArrowLeft"])||"button"in t&&0!==t.button?null:(t.preventDefault(),e.handleLeftKeydown.apply(null,arguments))},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"right",39,t.key,["Right","ArrowRight"])||"button"in t&&2!==t.button||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),e.handleRightKeydown.apply(null,arguments))},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:(t.preventDefault(),e.clickReference.apply(null,arguments))},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"right",39,t.key,["Right","ArrowRight"])?null:t.altKey?"button"in t&&2!==t.button?null:(t.preventDefault(),e.toggleEntireTree.apply(null,arguments)):null}]},scopedSlots:e._u([{key:"depth-spacer",fn:function(){return[n("span",{attrs:{hidden:"",id:e.usageLabel}},[e._v(" "+e._s(e.$t("filter.navigate"))+" ")]),e.isParent?n("button",{staticClass:"tree-toggle",attrs:{tabindex:"-1","aria-labelledby":e.item.uid,"aria-expanded":e.expanded?"true":"false","aria-describedby":e.ariaDescribedBy},on:{click:[function(t){return t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),e.toggleTree.apply(null,arguments))},function(t){return t.altKey?(t.preventDefault(),e.toggleEntireTree.apply(null,arguments)):null},function(t){return t.metaKey?(t.preventDefault(),e.toggleSiblings.apply(null,arguments)):null}]}},[n("InlineChevronRightIcon",{staticClass:"icon-inline chevron",class:{rotate:e.expanded,animating:e.idState.isOpening}})],1):e._e()]},proxy:!0},{key:"navigator-icon",fn:function(t){var i,a=t.className;return[e.apiChange?n("span",{class:[(i={},i["changed changed-"+e.apiChange]=e.apiChange,i),a]}):n("TopicTypeIcon",{key:e.item.uid,class:a,attrs:{type:e.item.type,"image-override":e.item.icon?e.navigatorReferences[e.item.icon]:null,shouldCalculateOptimalWidth:!1}})]}},{key:"title-container",fn:function(){return[e.isParent?n("span",{attrs:{hidden:"",id:e.parentLabel}},[e._v(e._s(e.$tc("filter.parent-label",e.item.childUIDs.length,{"number-siblings":e.item.index+1,"total-siblings":e.item.siblingsCount,"parent-siblings":e.item.parent,"number-parent":e.item.childUIDs.length})))]):e._e(),e.isParent?e._e():n("span",{attrs:{id:e.siblingsLabel,hidden:""}},[e._v(" "+e._s(e.$t("filter.siblings-label",{"number-siblings":e.item.index+1,"total-siblings":e.item.siblingsCount,"parent-siblings":e.item.parent}))+" ")]),n(e.refComponent,{ref:"reference",tag:"component",staticClass:"leaf-link",class:{bolded:e.isBold},attrs:{id:e.item.uid,url:e.isGroupMarker?null:e.item.path||"",tabindex:e.isFocused?"0":"-1","aria-describedby":e.ariaDescribedBy+" "+e.usageLabel},nativeOn:{click:[function(t){return t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:e.handleClick.apply(null,arguments)},function(t){return t.altKey?(t.preventDefault(),e.toggleEntireTree.apply(null,arguments)):null}]}},[n("HighlightMatches",{attrs:{text:e.item.title,matcher:e.filterPattern}})],1),e.isDeprecated?n("Badge",{attrs:{variant:"deprecated"}}):e.isBeta?n("Badge",{attrs:{variant:"beta"}}):e._e()]},proxy:!0}])})},yl=[],vl=n("34b0"),bl=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"navigator-card-item"},[n("div",{staticClass:"head-wrapper"},[n("div",{staticClass:"depth-spacer"},[e._t("depth-spacer")],2),e.hideNavigatorIcon?e._e():n("div",{staticClass:"navigator-icon-wrapper"},[e._t("navigator-icon",null,{className:"navigator-icon"})],2),n("div",{staticClass:"title-container"},[e._t("title-container")],2)])])},Tl=[],Sl={name:"BaseNavigatorCardItem",props:{hideNavigatorIcon:{type:Boolean,default:()=>!1}}},_l=Sl,Cl=(n("b39c"),Object(K["a"])(_l,bl,Tl,!1,null,"0b9fe514",null)),kl=Cl.exports,wl={name:"HighlightMatch",props:{text:{type:String,required:!0},matcher:{type:RegExp,default:void 0}},render(e){const{matcher:t,text:n}=this;if(!t)return e("p",{class:"highlight"},n);const i=[];let a=0,s=null;const r=new RegExp(t,"gi");while(null!==(s=r.exec(n))){const t=s[0].length,r=s.index+t,o=n.slice(a,s.index);o&&i.push(e("span",o));const l=n.slice(s.index,r);l&&i.push(e("span",{class:"match"},l)),a=r}const o=n.slice(a,n.length);return o&&i.push(e("span",o)),e("p",{class:"highlight"},i)}},Il=wl,xl=(n("b831"),Object(K["a"])(Il,gl,fl,!1,null,"d75876e2",null)),$l=xl.exports,Ol={name:"NavigatorCardItem",mixins:[Object(hl["c"])({idProp:e=>e.item.uid})],components:{BaseNavigatorCardItem:kl,HighlightMatches:$l,TopicTypeIcon:_e["a"],InlineChevronRightIcon:vl["a"],Reference:To["a"],Badge:ei["a"]},props:{isRendered:{type:Boolean,default:!1},item:{type:Object,required:!0},expanded:{type:Boolean,default:!1},filterPattern:{type:RegExp,default:void 0},isActive:{type:Boolean,default:!1},isBold:{type:Boolean,default:!1},apiChange:{type:String,default:null,validator:e=>It["d"].includes(e)},isFocused:{type:Boolean,default:()=>!1},enableFocus:{type:Boolean,default:!0},navigatorReferences:{type:Object,default:()=>({})}},idState(){return{isOpening:!1}},computed:{isGroupMarker:({item:{type:e}})=>e===Ce["b"].groupMarker,isParent:({item:e,isGroupMarker:t})=>!!e.childUIDs.length&&!t,parentLabel:({item:e})=>"label-parent-"+e.uid,siblingsLabel:({item:e})=>"label-"+e.uid,usageLabel:({item:e})=>"usage-"+e.uid,ariaDescribedBy:({isParent:e,parentLabel:t,siblingsLabel:n})=>e?""+t:""+n,isBeta:({item:{beta:e}})=>!!e,isDeprecated:({item:{deprecated:e}})=>!!e,refComponent:({isGroupMarker:e})=>e?"h3":To["a"]},methods:{toggleTree(){this.idState.isOpening=!0,this.$emit("toggle",this.item)},toggleEntireTree(){this.idState.isOpening=!0,this.$emit("toggle-full",this.item)},toggleSiblings(){this.idState.isOpening=!0,this.$emit("toggle-siblings",this.item)},handleLeftKeydown(){this.expanded?this.toggleTree():this.$emit("focus-parent",this.item)},handleRightKeydown(){!this.expanded&&this.isParent&&this.toggleTree()},clickReference(){(this.$refs.reference.$el||this.$refs.reference).click()},focusReference(){(this.$refs.reference.$el||this.$refs.reference).focus()},handleClick(){this.isGroupMarker||this.$emit("navigate",this.item.uid)}},watch:{async isFocused(e){await Object(Ee["b"])(8),e&&this.isRendered&&this.enableFocus&&this.focusReference()},async expanded(){await Object(Ee["b"])(9),this.idState.isOpening=!1}}},Dl=Ol,Pl=(n("6ca9"),Object(K["a"])(Dl,ml,yl,!1,null,"0c96ff75",null)),Ll=Pl.exports,Al=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"navigator-card"},[n("div",{staticClass:"navigator-card-full-height"},[n("div",{staticClass:"navigator-card-inner"},[n("div",{staticClass:"head-wrapper"},[n("div",{staticClass:"head-inner"},[n("button",{staticClass:"close-card",class:{"hide-on-large":!e.allowHiding},attrs:{id:e.SIDEBAR_HIDE_BUTTON_ID,"aria-label":e.$t("navigator.close-navigator")},on:{click:e.handleHideClick}},[n("SidenavIcon",{staticClass:"icon-inline close-icon"})],1),n("Reference",{staticClass:"navigator-head",attrs:{id:e.INDEX_ROOT_KEY,url:e.technologyPath},nativeOn:{click:function(t){return t.altKey?(t.preventDefault(),e.$emit("head-click-alt")):null}}},[n("h2",{staticClass:"card-link"},[e._v(" "+e._s(e.technology)+" ")]),e.isTechnologyBeta?n("Badge",{attrs:{variant:"beta"}}):e._e()],1)],1)]),e._t("body",null,{className:"card-body"})],2)])])},Nl=[],El=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{staticClass:"sidenav-icon",attrs:{viewBox:"0 0 14 14",height:"14",themeId:"sidenav"}},[n("path",{attrs:{d:"M6.533 1.867h-6.533v10.267h14v-10.267zM0.933 11.2v-8.4h4.667v8.4zM13.067 11.2h-6.533v-8.4h6.533z"}}),n("path",{attrs:{d:"M1.867 5.133h2.8v0.933h-2.8z"}}),n("path",{attrs:{d:"M1.867 7.933h2.8v0.933h-2.8z"}})])},jl=[],Bl={name:"SidenavIcon",components:{SVGIcon:fr["a"]}},Rl=Bl,Ml=Object(K["a"])(Rl,El,jl,!1,null,null,null),zl=Ml.exports,Kl={name:"BaseNavigatorCard",components:{SidenavIcon:zl,Reference:To["a"],Badge:ei["a"]},props:{allowHiding:{type:Boolean,default:!0},technologyPath:{type:String,default:""},technology:{type:String,required:!0},isTechnologyBeta:{type:Boolean,default:!1}},data(){return{SIDEBAR_HIDE_BUTTON_ID:Fs,INDEX_ROOT_KEY:Ks}},methods:{async handleHideClick(){this.$emit("close"),await this.$nextTick();const e=document.getElementById(Go["d"]);e&&e.focus()}}},ql=Kl,Fl=(n("b32a"),Object(K["a"])(ql,Al,Nl,!1,null,"24789ed0",null)),Hl=Fl.exports;const Vl=e=>e[e.length-1],Wl=(e,t)=>JSON.stringify(e)===JSON.stringify(t),Ul="navigator.state",Gl={sampleCode:"sampleCode",tutorials:"tutorials",articles:"articles"},Ql={[Gl.sampleCode]:"Sample Code",[Gl.tutorials]:"Tutorials",[Gl.articles]:"Articles"},Xl=Object.fromEntries(Object.entries(Ql).map(([e,t])=>[t,e])),Yl={[Ce["b"].article]:Gl.articles,[Ce["b"].learn]:Gl.tutorials,[Ce["b"].overview]:Gl.tutorials,[Ce["b"].resources]:Gl.tutorials,[Ce["b"].sampleCode]:Gl.sampleCode,[Ce["b"].section]:Gl.tutorials,[Ce["b"].tutorial]:Gl.tutorials,[Ce["b"].project]:Gl.tutorials},Jl="navigator.no-results",Zl="navigator.no-children",ec="navigator.error-fetching",tc="navigator.items-found",nc="navigator.tags.hide-deprecated";var ic={name:"NavigatorCard",constants:{STORAGE_KEY:Ul,FILTER_TAGS:Gl,FILTER_TAGS_TO_LABELS:Ql,FILTER_LABELS_TO_TAGS:Xl,TOPIC_TYPE_TO_TAG:Yl,ERROR_FETCHING:ec,ITEMS_FOUND:tc,HIDE_DEPRECATED:nc},components:{FilterInput:oo,NavigatorCardItem:Ll,DynamicScroller:hl["a"],DynamicScrollerItem:hl["b"],BaseNavigatorCard:Hl},props:{...Hl.props,children:{type:Array,required:!0},activePath:{type:Array,required:!0},type:{type:String,required:!0},scrollLockID:{type:String,default:""},errorFetching:{type:Boolean,default:!1},apiChanges:{type:Object,default:null},isTechnologyBeta:{type:Boolean,default:!1},navigatorReferences:{type:Object,default:()=>{}},renderFilterOnTop:{type:Boolean,default:!1},hideAvailableTags:{type:Boolean,default:!1}},mixins:[zr],data(){return{filter:"",debouncedFilter:"",selectedTags:[],openNodes:Object.freeze({}),nodesToRender:Object.freeze([]),activeUID:null,lastFocusTarget:null,allNodesToggled:!1,translatableTags:[nc]}},computed:{politeAriaLive(){const{hasNodes:e,nodesToRender:t}=this;return e?this.$tc(tc,t.length,{number:t.length}):""},assertiveAriaLive:({hasNodes:e,hasFilter:t,errorFetching:n})=>e?"":t?Jl:n?ec:Zl,availableTags({selectedTags:e,renderableChildNodesMap:t,apiChangesObject:n,hideAvailableTags:i}){if(i||e.length)return[];const a=new Set(Object.values(n)),s=new Set(Object.values(Ql)),r=new Set([nc]);a.size&&r.delete(nc);const o={type:[],changes:[],other:[]};for(const l in t){if(!Object.hasOwnProperty.call(t,l))continue;if(!s.size&&!a.size&&!r.size)break;const{type:e,path:i,deprecated:c}=t[l],d=Ql[Yl[e]],u=n[i];s.has(d)&&(o.type.push(d),s.delete(d)),u&&a.has(u)&&(o.changes.push(this.$t(It["b"][u])),a.delete(u)),c&&r.has(nc)&&(o.other.push(nc),r.delete(nc))}return o.type.concat(o.changes,o.other)},selectedTagsModelValue:{get(){return this.selectedTags.map(e=>Ql[e]||this.$t(It["b"][e])||e)},set(e){(this.selectedTags.length||e.length)&&(this.selectedTags=e.map(e=>Xl[e]||It["a"][e]||e))}},filterPattern:({debouncedFilter:e})=>e?new RegExp(pl(e),"i"):null,itemSize:()=>qs,childrenMap({children:e}){return Vs(e)},activePathChildren({activeUID:e,childrenMap:t}){return e&&t[e]?Qs(e,t):[]},activePathMap:({activePathChildren:e})=>Object.fromEntries(e.map(({uid:e})=>[e,!0])),activeIndex:({activeUID:e,nodesToRender:t})=>t.findIndex(t=>t.uid===e),filteredChildren({hasFilter:e,children:t,filterPattern:n,selectedTags:i,apiChanges:a}){if(!e)return[];const s=new Set(i);return t.filter(({title:e,path:t,type:i,deprecated:r,deprecatedChildrenCount:o,childUIDs:l})=>{const c=r||o===l.length,d=!n||n.test(e);let u=!0;s.size&&(u=s.has(Yl[i]),a&&!u&&(u=s.has(a[t])),!c&&s.has(nc)&&(u=!0));const h=!a||!!a[t];return d&&u&&h})},renderableChildNodesMap({hasFilter:e,childrenMap:t,deprecatedHidden:n,filteredChildren:i,removeDeprecated:a}){if(!e)return t;const s=i.length-1,r=new Set([]);for(let o=s;o>=0;o-=1){const e=i[o],s=t[e.groupMarkerUID];if(s&&r.add(s),r.has(e))continue;if(r.has(t[e.parent])&&e.type!==Ce["b"].groupMarker){r.add(e);continue}let l=[];e.childUIDs.length&&(l=a(Us(e.uid,t),n)),l.concat(Qs(e.uid,t)).forEach(e=>r.add(e))}return Vs([...r])},nodeChangeDeps:({filteredChildren:e,activePathChildren:t,debouncedFilter:n,selectedTags:i})=>[e,t,n,i],hasFilter({debouncedFilter:e,selectedTags:t,apiChanges:n}){return Boolean(e.length||t.length||n)},deprecatedHidden:({selectedTags:e})=>e[0]===nc,apiChangesObject(){return this.apiChanges||{}},hasNodes:({nodesToRender:e})=>!!e.length,totalItemsToNavigate:({nodesToRender:e})=>e.length,lastActivePathItem:({activePath:e})=>Vl(e)},created(){this.restorePersistedState()},watch:{filter:"debounceInput",nodeChangeDeps:"trackOpenNodes",activePath:"handleActivePathChange",apiChanges(e){e||(this.selectedTags=this.selectedTags.filter(e=>!this.$t(It["b"][e])))},async activeUID(e,t){await this.$nextTick();const n=this.$refs["dynamicScroller_"+t];n&&n.updateSize&&n.updateSize()}},methods:{setUnlessEqual(e,t){Wl(t,this[e])||(this[e]=Object.freeze(t))},toggleAllNodes(){const e=this.children.filter(e=>e.parent===Ks&&e.type!==Ce["b"].groupMarker&&e.childUIDs.length);this.allNodesToggled=!this.allNodesToggled,this.allNodesToggled&&(this.openNodes={},this.generateNodesToRender()),e.forEach(e=>{this.toggleFullTree(e)})},clearFilters(){this.filter="",this.debouncedFilter="",this.selectedTags=[]},scrollToFocus(){this.$refs.scroller.scrollToItem(this.focusedIndex)},debounceInput:Ir((function(e){this.debouncedFilter=e,this.lastFocusTarget=null}),200),trackOpenNodes([e,t,n,i],[,a=[],s="",r=[]]=[]){if(n!==s&&!s&&this.getFromStorage("filter")||!Wl(i,r)&&!r.length&&this.getFromStorage("selectedTags",[]).length)return;const o=!Wl(a,t),{childrenMap:l}=this;let c=t;if(!(this.deprecatedHidden&&!this.debouncedFilter.length||o&&this.hasFilter)&&this.hasFilter){const t=new Set,n=e.length-1;for(let i=n;i>=0;i-=1){const n=e[i];t.has(l[n.parent])||t.has(n)||Qs(n.uid,l).slice(0,-1).forEach(e=>t.add(e))}c=[...t]}const d=o?{...this.openNodes}:{},u=c.reduce((e,t)=>(e[t.uid]=!0,e),d);this.setUnlessEqual("openNodes",u),this.generateNodesToRender(),this.updateFocusIndexExternally()},toggle(e){const t=this.openNodes[e.uid];let n=[],i=[];if(t){const t=Object(w["a"])(this.openNodes),n=Us(e.uid,this.childrenMap);n.forEach(({uid:e})=>{delete t[e]}),this.setUnlessEqual("openNodes",t),i=n.slice(1)}else this.setUnlessEqual("openNodes",{...this.openNodes,[e.uid]:!0}),n=Gs(e.uid,this.childrenMap,this.children).filter(e=>this.renderableChildNodesMap[e.uid]);this.augmentRenderNodes({uid:e.uid,include:n,exclude:i})},toggleFullTree(e){const t=this.openNodes[e.uid],n=Object(w["a"])(this.openNodes),i=Us(e.uid,this.childrenMap);let a=[],s=[];i.forEach(({uid:e})=>{t?delete n[e]:n[e]=!0}),t?a=i.slice(1):s=i.slice(1).filter(e=>this.renderableChildNodesMap[e.uid]),this.setUnlessEqual("openNodes",n),this.augmentRenderNodes({uid:e.uid,exclude:a,include:s})},toggleSiblings(e){const t=this.openNodes[e.uid],n=Object(w["a"])(this.openNodes),i=Xs(e.uid,this.childrenMap,this.children);i.forEach(({uid:e,childUIDs:i,type:a})=>{if(i.length&&a!==Ce["b"].groupMarker)if(t){const t=Us(e,this.childrenMap);t.forEach(e=>{delete n[e.uid]}),delete n[e],this.augmentRenderNodes({uid:e,exclude:t.slice(1),include:[]})}else{n[e]=!0;const t=Gs(e,this.childrenMap,this.children).filter(e=>this.renderableChildNodesMap[e.uid]);this.augmentRenderNodes({uid:e,exclude:[],include:t})}}),this.setUnlessEqual("openNodes",n),this.persistState()},removeDeprecated(e,t){return t?e.filter(({deprecated:e})=>!e):e},generateNodesToRender(){const{children:e,openNodes:t,renderableChildNodesMap:n}=this;this.setUnlessEqual("nodesToRender",e.filter(e=>n[e.uid]&&(e.parent===Ks||t[e.parent]))),this.persistState(),this.scrollToElement()},augmentRenderNodes({uid:e,include:t=[],exclude:n=[]}){const i=this.nodesToRender.findIndex(t=>t.uid===e);if(t.length){const e=t.filter(e=>!this.nodesToRender.includes(e)),n=this.nodesToRender.slice(0);n.splice(i+1,0,...e),this.setUnlessEqual("nodesToRender",n)}else if(n.length){const e=new Set(n);this.setUnlessEqual("nodesToRender",this.nodesToRender.filter(t=>!e.has(t)))}this.persistState()},getFromStorage(e,t=null){const n=Fo["b"].get(Ul,{}),i=n[this.technologyPath];return i?e?i[e]||t:i:t},persistState(){const e={path:this.lastActivePathItem},{path:t}=this.activeUID&&this.childrenMap[this.activeUID]||e,n={technology:this.technology,path:t,hasApiChanges:!!this.apiChanges,openNodes:Object.keys(this.openNodes).map(Number),nodesToRender:this.nodesToRender.map(({uid:e})=>e),activeUID:this.activeUID,filter:this.filter,selectedTags:this.selectedTags},i={...Fo["b"].get(Ul,{}),[this.technologyPath]:n};Fo["b"].set(Ul,i)},clearPersistedState(){const e={...Fo["b"].get(Ul,{}),[this.technologyPath]:{}};Fo["b"].set(Ul,e)},restorePersistedState(){const e=this.getFromStorage();if(!e||e.path!==this.lastActivePathItem)return this.clearPersistedState(),void this.handleActivePathChange(this.activePath);const{technology:t,nodesToRender:n=[],filter:i="",hasAPIChanges:a=!1,activeUID:s=null,selectedTags:r=[],openNodes:o}=e;if(!n.length&&!i&&!r.length)return this.clearPersistedState(),void this.handleActivePathChange(this.activePath);const{childrenMap:l}=this,c=n.every(e=>l[e]),d=s?(this.childrenMap[s]||{}).path===this.lastActivePathItem:1===this.activePath.length;if(t!==this.technology||!c||a!==Boolean(this.apiChanges)||!d||s&&!i&&!r.length&&!n.includes(s))return this.clearPersistedState(),void this.handleActivePathChange(this.activePath);this.setUnlessEqual("openNodes",Object.fromEntries(o.map(e=>[e,!0]))),this.setUnlessEqual("nodesToRender",n.map(e=>l[e])),this.selectedTags=r,this.filter=i,this.debouncedFilter=this.filter,this.activeUID=s,this.scrollToElement()},async scrollToElement(){if(await Object(Ee["b"])(1),!this.$refs.scroller)return;if(this.hasFilter&&!this.deprecatedHidden)return void this.$refs.scroller.scrollToItem(0);const e=document.getElementById(this.activeUID);if(e&&0===this.getChildPositionInScroller(e))return;const t=this.nodesToRender.findIndex(e=>e.uid===this.activeUID);-1!==t&&this.$refs.scroller.scrollToItem(t)},getChildPositionInScroller(e){if(!e)return 0;const{paddingTop:t,paddingBottom:n}=getComputedStyle(this.$refs.scroller.$el),i={top:parseInt(t,10)||0,bottom:parseInt(n,10)||0},{y:a,height:s}=this.$refs.scroller.$el.getBoundingClientRect(),{y:r}=e.getBoundingClientRect(),o=e.offsetParent.offsetHeight,l=r-a-i.top;return l<0?-1:l+o>=s-i.bottom?1:0},isInsideScroller(e){return this.$refs.scroller.$el.contains(e)},handleFocusIn({target:e}){this.lastFocusTarget=e;const t=this.getChildPositionInScroller(e);if(0===t)return;const{offsetHeight:n}=e.offsetParent;this.$refs.scroller.$el.scrollBy({top:n*t,left:0})},handleFocusOut(e){e.relatedTarget&&(this.isInsideScroller(e.relatedTarget)||(this.lastFocusTarget=null))},handleScrollerUpdate:Ir((async function(){await Object(Ee["a"])(300),this.lastFocusTarget&&this.isInsideScroller(this.lastFocusTarget)&&document.activeElement!==this.lastFocusTarget&&this.lastFocusTarget.focus({preventScroll:!0})}),50),setActiveUID(e){this.activeUID=e},handleNavigationChange(e){this.childrenMap[e].path.startsWith(this.technologyPath)&&this.setActiveUID(e)},pathsToFlatChildren(e){const t=e.slice(0).reverse(),{childrenMap:n}=this;let i=this.children;const a=[];while(t.length){const e=t.pop(),s=i.find(t=>t.path===e);if(!s)break;a.push(s),t.length&&(i=s.childUIDs.map(e=>n[e]))}return a},handleActivePathChange(e){const t=this.childrenMap[this.activeUID],n=Vl(e);if(t){if(n===t.path)return;const e=Xs(this.activeUID,this.childrenMap,this.children),i=Gs(this.activeUID,this.childrenMap,this.children),a=Qs(this.activeUID,this.childrenMap),s=[...i,...e,...a].find(e=>e.path===n);if(s)return void this.setActiveUID(s.uid)}const i=this.pathsToFlatChildren(e);i.length?this.setActiveUID(i[i.length-1].uid):this.activeUID?this.setActiveUID(null):this.trackOpenNodes(this.nodeChangeDeps)},updateFocusIndexExternally(){this.externalFocusChange=!0,this.activeIndex>0?this.focusIndex(this.activeIndex):this.focusIndex(0)},focusNodeParent(e){const t=this.childrenMap[e.parent];if(!t)return;const n=this.nodesToRender.findIndex(e=>e.uid===t.uid);-1!==n&&this.focusIndex(n)}}},ac=ic,sc=(n("8e4d"),Object(K["a"])(ac,dl,ul,!1,null,"1543892a",null)),rc=sc.exports,oc=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("BaseNavigatorCard",e._b({on:{close:function(t){return e.$emit("close")}},scopedSlots:e._u([{key:"body",fn:function(t){var i=t.className;return[n("transition",{attrs:{name:"delay-visibility"}},[n("div",{staticClass:"loading-navigator",class:i,attrs:{"aria-hidden":"true"}},e._l(e.LOADER_ROWS,(function(e,t){return n("LoadingNavigatorItem",{key:t,attrs:{index:t,width:e.width,hideNavigatorIcon:e.hideNavigatorIcon}})})),1)])]}}])},"BaseNavigatorCard",e.$props,!1))},lc=[],cc=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("BaseNavigatorCardItem",{staticClass:"loading-navigator-item",style:"--index: "+e.index+";",attrs:{hideNavigatorIcon:e.hideNavigatorIcon},scopedSlots:e._u([{key:"navigator-icon",fn:function(e){var t=e.className;return[n("div",{class:t})]}},{key:"title-container",fn:function(){return[n("div",{staticClass:"loader",style:{width:e.width}})]},proxy:!0}])})},dc=[],uc={name:"LoadingNavigatorItem",components:{BaseNavigatorCardItem:kl},props:{...kl.props,index:{type:Number,default:0},width:{type:String,default:"50%"}}},hc=uc,pc=(n("d1b4"),Object(K["a"])(hc,cc,dc,!1,null,"0de29914",null)),gc=pc.exports;const fc=[{width:"30%",hideNavigatorIcon:!0},{width:"80%"},{width:"50%"}];var mc={name:"LoadingNavigatorCard",components:{BaseNavigatorCard:Hl,LoadingNavigatorItem:gc},props:{...Hl.props},data(){return{LOADER_ROWS:fc}}},yc=mc,vc=(n("115d"),Object(K["a"])(yc,oc,lc,!1,null,"4b6d345f",null)),bc=vc.exports,Tc={name:"Navigator",components:{NavigatorCard:rc,LoadingNavigatorCard:bc},data(){return{INDEX_ROOT_KEY:Ks}},props:{flatChildren:{type:Array,required:!0},parentTopicIdentifiers:{type:Array,required:!0},technology:{type:Object,required:!0},isFetching:{type:Boolean,default:!1},references:{type:Object,default:()=>{}},navigatorReferences:{type:Object,default:()=>{}},scrollLockID:{type:String,default:""},errorFetching:{type:Boolean,default:!1},renderFilterOnTop:{type:Boolean,default:!1},apiChanges:{type:Object,default:null},allowHiding:{type:Boolean,default:!0}},computed:{parentTopicReferences({references:e,parentTopicIdentifiers:t}){return t.reduce((t,n)=>{const i=e[n];return i?t.concat(i):(console.error(`Reference for "${n}" is missing`),t)},[])},activePath({parentTopicReferences:e,$route:{path:t}}){if(t=t.replace(/\/$/,"").toLowerCase(),!e.length)return[t];let n=1;return"technologies"===e[0].kind&&(n=2),e.slice(n).map(e=>e.url).concat(t)},type:()=>Ce["b"].module,technologyProps:({technology:e})=>({technology:e.title,technologyPath:e.path||e.url,isTechnologyBeta:e.beta})}},Sc=Tc,_c=(n("9c7e"),Object(K["a"])(Sc,ll,cl,!1,null,"159b9764",null)),Cc=_c.exports,kc=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("NavBase",{staticClass:"documentation-nav",attrs:{breakpoint:e.BreakpointName.medium,hasOverlay:!1,hasSolidBackground:"",hasNoBorder:e.hasNoBorder,isDark:e.isDark,isWideFormat:"",hasFullWidthBorder:"","aria-label":e.$t("api-reference")},scopedSlots:e._u([e.displaySidenav?{key:"pre-title",fn:function(t){var i=t.closeNav,a=t.isOpen,s=t.currentBreakpoint,r=t.className;return[n("div",{class:r},[n("transition",{attrs:{name:"sidenav-toggle"}},[n("div",{directives:[{name:"show",rawName:"v-show",value:e.sidenavHiddenOnLarge,expression:"sidenavHiddenOnLarge"}],staticClass:"sidenav-toggle-wrapper"},[n("button",{staticClass:"sidenav-toggle",attrs:{"aria-label":e.$t("navigator.open-navigator"),id:e.baseNavOpenSidenavButtonId,tabindex:a?-1:null},on:{click:function(t){return t.preventDefault(),e.handleSidenavToggle(i,s)}}},[n("span",{staticClass:"sidenav-icon-wrapper"},[n("SidenavIcon",{staticClass:"icon-inline sidenav-icon"})],1)]),n("span",{staticClass:"sidenav-toggle__separator"})])])],1)]}}:null,{key:"tray",fn:function(t){var i=t.closeNav;return[n("Hierarchy",{attrs:{currentTopicTitle:e.title,isSymbolDeprecated:e.isSymbolDeprecated,isSymbolBeta:e.isSymbolBeta,parentTopicIdentifiers:e.hierarchyItems,currentTopicTags:e.currentTopicTags,references:e.references}}),n("NavMenuItems",{staticClass:"nav-menu-settings",attrs:{previousSiblingChildren:e.breadcrumbCount}},[e.interfaceLanguage&&(e.swiftPath||e.objcPath)?n("LanguageToggle",{attrs:{interfaceLanguage:e.interfaceLanguage,objcPath:e.objcPath,swiftPath:e.swiftPath,closeNav:i}}):e._e(),e._t("menu-items")],2),e._t("tray-after",null,null,{breadcrumbCount:e.breadcrumbCount})]}}],null,!0)},[n("template",{slot:"default"},[e._t("title",(function(){return[e.rootLink?n("router-link",{staticClass:"nav-title-link",attrs:{to:e.rootLink}},[e._v(" "+e._s(e.$t("documentation.title"))+" ")]):n("span",{staticClass:"nav-title-link inactive"},[e._v(e._s(e.$t("documentation.title")))])]}),null,{rootLink:e.rootLink,linkClass:"nav-title-link",inactiveClass:"inactive"})],2),n("template",{slot:"after-content"},[e._t("after-content")],2)],2)},wc=[],Ic=n("cbcf"),xc=n("9b30"),$c=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("NavMenuItems",{staticClass:"hierarchy",class:{"has-badge":e.hasBadge},attrs:{"aria-label":e.$t("documentation.nav.breadcrumbs")}},[e.root?n("HierarchyItem",{key:e.root.title,staticClass:"root-hierarchy",attrs:{url:e.addQueryParamsToUrl(e.root.url)}},[e._v(" "+e._s(e.root.title)+" ")]):e._e(),e._l(e.collapsibleItems,(function(t){return n("HierarchyItem",{key:t.title,attrs:{isCollapsed:"",url:e.addQueryParamsToUrl(t.url)}},[e._v(" "+e._s(t.title)+" ")])})),e.collapsibleItems.length?n("HierarchyCollapsedItems",{attrs:{topics:e.collapsibleItems}}):e._e(),e._l(e.nonCollapsibleItems,(function(t){return n("HierarchyItem",{key:t.title,attrs:{url:e.addQueryParamsToUrl(t.url)}},[e._v(" "+e._s(t.title)+" ")])})),n("HierarchyItem",[e._v(" "+e._s(e.currentTopicTitle)+" "),n("template",{slot:"tags"},[e.isSymbolDeprecated?n("Badge",{attrs:{variant:"deprecated"}}):e.isSymbolBeta?n("Badge",{attrs:{variant:"beta"}}):e._e(),e._l(e.currentTopicTags,(function(t){return n("Badge",{key:t.type+"-"+t.text,attrs:{variant:t.type}},[e._v(" "+e._s(t.text)+" ")])}))],2)],2)],2)},Oc=[],Dc=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("li",{staticClass:"hierarchy-collapsed-items"},[n("span",{staticClass:"hierarchy-item-icon icon-inline"},[e._v("/")]),n("button",{ref:"btn",staticClass:"toggle",class:{focused:!e.collapsed},on:{click:e.toggleCollapsed}},[n("span",{staticClass:"indicator"},[n("EllipsisIcon",{staticClass:"icon-inline toggle-icon"})],1)]),n("ul",{ref:"dropdown",staticClass:"dropdown",class:{collapsed:e.collapsed}},e._l(e.topicsWithUrls,(function(t){return n("li",{key:t.title,staticClass:"dropdown-item"},[n("router-link",{staticClass:"nav-menu-link",attrs:{to:t.url}},[e._v(e._s(t.title))])],1)})),0)])},Pc=[],Lc=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{staticClass:"ellipsis-icon",attrs:{viewBox:"0 0 14 14",themeId:"ellipsis"}},[n("path",{attrs:{d:"m12.439 7.777v-1.554h-1.554v1.554zm-4.662 0v-1.554h-1.554v1.554zm-4.662 0v-1.554h-1.554v1.554z"}})])},Ac=[],Nc={name:"EllipsisIcon",components:{SVGIcon:fr["a"]}},Ec=Nc,jc=Object(K["a"])(Ec,Lc,Ac,!1,null,null,null),Bc=jc.exports,Rc={name:"HierarchyCollapsedItems",components:{EllipsisIcon:Bc},data:()=>({collapsed:!0}),props:{topics:{type:Array,required:!0}},watch:{collapsed(e,t){t&&!e?document.addEventListener("click",this.handleDocumentClick,!1):!t&&e&&document.removeEventListener("click",this.handleDocumentClick,!1)}},beforeDestroy(){document.removeEventListener("click",this.handleDocumentClick,!1)},computed:{topicsWithUrls:({$route:e,topics:t})=>t.map(t=>({...t,url:Object(P["b"])(t.url,e.query)}))},methods:{handleDocumentClick(e){const{target:t}=e,{collapsed:n,$refs:{btn:i,dropdown:a}}=this,s=!i.contains(t)&&!a.contains(t);!n&&s&&(this.collapsed=!0)},toggleCollapsed(){this.collapsed=!this.collapsed}}},Mc=Rc,zc=(n("2ca2"),Object(K["a"])(Mc,Dc,Pc,!1,null,"74906830",null)),Kc=zc.exports,qc=function(e,t){var n=t._c;return n(t.$options.components.NavMenuItemBase,{tag:"component",staticClass:"hierarchy-item",class:[{collapsed:t.props.isCollapsed},t.data.staticClass]},[n("span",{staticClass:"hierarchy-item-icon icon-inline"},[t._v("/")]),t.props.url?n("router-link",{staticClass:"parent item nav-menu-link",attrs:{to:t.props.url}},[t._t("default")],2):[n("span",{staticClass:"current item"},[t._t("default")],2),t._t("tags")]],2)},Fc=[],Hc=n("863d"),Vc={name:"HierarchyItem",components:{NavMenuItemBase:Hc["a"],InlineChevronRightIcon:vl["a"]},props:{isCollapsed:Boolean,url:{type:String,required:!1}}},Wc=Vc,Uc=(n("260a"),Object(K["a"])(Wc,qc,Fc,!0,null,"382bf39e",null)),Gc=Uc.exports;const Qc=3;var Xc={name:"Hierarchy",components:{Badge:ei["a"],NavMenuItems:xc["a"],HierarchyCollapsedItems:Kc,HierarchyItem:Gc},constants:{MaxVisibleLinks:Qc},inject:["store"],props:{isSymbolDeprecated:Boolean,isSymbolBeta:Boolean,references:Object,currentTopicTitle:{type:String,required:!0},parentTopicIdentifiers:{type:Array,default:()=>[]},currentTopicTags:{type:Array,default:()=>[]}},computed:{windowWidth:({store:e})=>e.state.contentWidth,parentTopics(){return this.parentTopicIdentifiers.reduce((e,t)=>{const n=this.references[t];if(n){const{title:t,url:i}=n;return e.concat({title:t,url:i})}return console.error(`Reference for "${t}" is missing`),e},[])},root:({parentTopics:e,windowWidth:t})=>t<=1e3?null:e[0],firstItemSlice:({root:e})=>e?1:0,linksAfterCollapse:({windowWidth:e,hasBadge:t})=>{const n=t?1:0;return e>1200?Qc-n:e>1e3?Qc-1-n:e>=800?Qc-2-n:0},collapsibleItems:({parentTopics:e,linksAfterCollapse:t,firstItemSlice:n})=>t?e.slice(n,-t):e.slice(n),nonCollapsibleItems:({parentTopics:e,linksAfterCollapse:t,firstItemSlice:n})=>t?e.slice(n).slice(-t):[],hasBadge:({isSymbolDeprecated:e,isSymbolBeta:t,currentTopicTags:n})=>e||t||n.length},methods:{addQueryParamsToUrl(e){return Object(P["b"])(e,this.$route.query)}}},Yc=Xc,Jc=(n("5208"),Object(K["a"])(Yc,$c,Oc,!1,null,"c2bd6086",null)),Zc=Jc.exports,ed=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("NavMenuItemBase",{staticClass:"nav-menu-setting language-container"},[n("div",{class:{"language-toggle-container":e.hasLanguages}},[n("select",{ref:"language-sizer",staticClass:"language-dropdown language-sizer",attrs:{"aria-hidden":"true",tabindex:"-1"}},[n("option",{key:e.currentLanguage.name,attrs:{selected:""}},[e._v(e._s(e.currentLanguage.name))])]),n("label",{staticClass:"nav-menu-setting-label",attrs:{for:e.hasLanguages?"language-toggle":null}},[e._v(e._s(e.$t("formats.colon",{content:e.$t("language")})))]),e.hasLanguages?n("select",{directives:[{name:"model",rawName:"v-model",value:e.languageModel,expression:"languageModel"}],staticClass:"language-dropdown nav-menu-link",style:"width: "+e.adjustedWidth+"px",attrs:{id:"language-toggle"},on:{change:[function(t){var n=Array.prototype.filter.call(t.target.options,(function(e){return e.selected})).map((function(e){var t="_value"in e?e._value:e.value;return t}));e.languageModel=t.target.multiple?n:n[0]},function(t){return e.pushRoute(e.currentLanguage.route)}]}},e._l(e.languages,(function(t){return n("option",{key:t.api,domProps:{value:t.api}},[e._v(" "+e._s(t.name)+" ")])})),0):n("span",{staticClass:"nav-menu-toggle-none current-language",attrs:{"aria-current":"page"}},[e._v(e._s(e.currentLanguage.name))]),e.hasLanguages?n("InlineChevronDownIcon",{staticClass:"toggle-icon icon-inline"}):e._e()],1),e.hasLanguages?n("div",{staticClass:"language-list-container"},[n("span",{staticClass:"nav-menu-setting-label"},[e._v(e._s(e.$t("formats.colon",{content:e.$t("language")})))]),n("ul",{staticClass:"language-list"},e._l(e.languages,(function(t){return n("li",{key:t.api,staticClass:"language-list-item"},[t.api===e.languageModel?n("span",{staticClass:"current-language",attrs:{"data-language":t.api,"aria-current":"page"}},[e._v(" "+e._s(t.name)+" ")]):n("a",{staticClass:"nav-menu-link",attrs:{href:"#"},on:{click:function(n){return n.preventDefault(),e.pushRoute(t.route)}}},[e._v(" "+e._s(t.name)+" ")])])})),0)]):e._e()])},td=[],nd=n("7948"),id={name:"LanguageToggle",components:{InlineChevronDownIcon:nd["a"],NavMenuItemBase:Hc["a"]},inject:{store:{default(){return{setPreferredLanguage(){}}}}},props:{interfaceLanguage:{type:String,required:!0},objcPath:{type:String,required:!1},swiftPath:{type:String,required:!1},closeNav:{type:Function,default:()=>{}}},data(){return{languageModel:null,adjustedWidth:0}},mounted(){const e=Ne(async()=>{await Object(Ee["b"])(3),this.calculateSelectWidth()},150);window.addEventListener("resize",e),window.addEventListener("orientationchange",e),this.$once("hook:beforeDestroy",()=>{window.removeEventListener("resize",e),window.removeEventListener("orientationchange",e)})},watch:{interfaceLanguage:{immediate:!0,handler(e){this.languageModel=e}},currentLanguage:{immediate:!0,handler:"calculateSelectWidth"}},methods:{getRoute(e){const t=e.query===O["a"].swift.key.url?void 0:e.query;return{query:{...this.$route.query,language:t},path:this.isCurrentPath(e.path)?null:Object(L["d"])(e.path)}},async pushRoute(e){await this.closeNav(),this.store.setPreferredLanguage(e.query),this.$router.push(this.getRoute(e))},isCurrentPath(e){return this.$route.path.replace(/^\//,"")===e},async calculateSelectWidth(){await this.$nextTick(),this.adjustedWidth=this.$refs["language-sizer"].clientWidth+6}},computed:{languages(){return[{name:O["a"].swift.name,api:O["a"].swift.key.api,route:{path:this.swiftPath,query:O["a"].swift.key.url}},{name:O["a"].objectiveC.name,api:O["a"].objectiveC.key.api,route:{path:this.objcPath,query:O["a"].objectiveC.key.url}}]},currentLanguage:({languages:e,languageModel:t})=>e.find(e=>e.api===t),hasLanguages:({objcPath:e,swiftPath:t})=>t&&e}},ad=id,sd=(n("b857"),Object(K["a"])(ad,ed,td,!1,null,"d12167e0",null)),rd=sd.exports,od={name:"DocumentationNav",components:{SidenavIcon:zl,NavBase:Ic["a"],NavMenuItems:xc["a"],Hierarchy:Zc,LanguageToggle:rd},props:{title:{type:String,required:!1},parentTopicIdentifiers:{type:Array,required:!1},isSymbolBeta:{type:Boolean,required:!1},isSymbolDeprecated:{type:Boolean,required:!1},isDark:{type:Boolean,default:!1},hasNoBorder:{type:Boolean,default:!1},currentTopicTags:{type:Array,required:!0},references:{type:Object,default:()=>({})},interfaceLanguage:{type:String,required:!1},objcPath:{type:String,required:!1},swiftPath:{type:String,required:!1},sidenavHiddenOnLarge:{type:Boolean,default:!1},displaySidenav:{type:Boolean,default:!1}},computed:{baseNavOpenSidenavButtonId:()=>Go["d"],BreakpointName:()=>Vo["b"],breadcrumbCount:({hierarchyItems:e})=>e.length+1,rootHierarchyReference:({parentTopicIdentifiers:e,references:t})=>t[e[0]]||{},isRootTechnologyLink:({rootHierarchyReference:{kind:e}})=>"technologies"===e,rootLink:({isRootTechnologyLink:e,rootHierarchyReference:t,$route:n})=>e?{path:t.url,query:n.query}:null,hierarchyItems:({parentTopicIdentifiers:e,isRootTechnologyLink:t})=>t?e.slice(1):e},methods:{async handleSidenavToggle(e,t){await e(),this.$emit("toggle-sidenav",t),await this.$nextTick();const n=document.getElementById(Fs);n&&n.focus()}}},ld=od,cd=(n("c61f"),Object(K["a"])(ld,kc,wc,!1,null,"138d523a",null)),dd=cd.exports,ud=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"StaticContentWidth"},[e._t("default")],2)},hd=[],pd={name:"StaticContentWidth",inject:["store"],mounted(){const e=Ne(async()=>{await this.$nextTick(),this.store.setContentWidth(this.$el.offsetWidth)},150);window.addEventListener("resize",e),window.addEventListener("orientationchange",e),this.$once("hook:beforeDestroy",()=>{window.removeEventListener("resize",e),window.removeEventListener("orientationchange",e)}),e()}},gd=pd,fd=Object(K["a"])(gd,ud,hd,!1,null,null,null),md=fd.exports,yd=n("3bdd"),vd=n("4009");const bd="symbol";var Td={watch:{topicData:{immediate:!0,handler:"extractOnThisPageSections"}},methods:{shouldRegisterContentSection(e){return e.type===_n["BlockType"].heading&&e.level<4},extractOnThisPageSections(e){if(!e)return;this.store.resetPageSections();const{metadata:{title:t},primaryContentSections:n,topicSections:i,defaultImplementationsSections:a,relationshipsSections:s,seeAlsoSections:r,kind:o}=e;this.store.addOnThisPageSection({title:t,anchor:vd["a"],level:1,isSymbol:o===bd},{i18n:!1}),n&&n.forEach(e=>{switch(e.kind){case Ke.content:At["a"].methods.forEach.call(e,e=>{this.shouldRegisterContentSection(e)&&this.store.addOnThisPageSection({title:e.text,anchor:e.anchor||Object(nn["a"])(e.text),level:e.level},{i18n:!1})});break;case Ke.properties:case Ke.restBody:case Ke.restCookies:case Ke.restEndpoint:case Ke.restHeaders:case Ke.restParameters:case Ke.restResponses:this.store.addOnThisPageSection({title:e.title,anchor:Object(nn["a"])(e.title),level:2});break;default:qt[e.kind]&&this.store.addOnThisPageSection(qt[e.kind])}}),i&&this.store.addOnThisPageSection(Kt.topics),a&&this.store.addOnThisPageSection(Kt.defaultImplementations),s&&this.store.addOnThisPageSection(Kt.relationships),r&&this.store.addOnThisPageSection(Kt.seeAlso)}}},Sd=n("9b56");const _d="0.3.0",Cd="navigator-hidden-large",{extractProps:kd}=Is.methods;var wd={name:"DocumentationTopicView",constants:{MIN_RENDER_JSON_VERSION_WITH_INDEX:_d,NAVIGATOR_HIDDEN_ON_LARGE_KEY:Cd},components:{Navigator:Cc,AdjustableSidebarWidth:ol,StaticContentWidth:md,NavigatorDataProvider:nr,Topic:Is,CodeTheme:Bs["a"],Nav:dd,QuickNavigationButton:lr,QuickNavigationModal:zo,PortalTarget:I["PortalTarget"]},mixins:[Ms["a"],zs["a"],Td],props:{enableMinimized:{type:Boolean,default:!1}},data(){return{topicDataDefault:null,topicDataObjc:null,sidenavVisibleOnMobile:!1,sidenavHiddenOnLarge:Fo["c"].get(Cd,!1),showQuickNavigationModal:!1,store:js,BreakpointName:Vo["b"]}},computed:{objcOverrides:({topicData:e})=>{const{variantOverrides:t=[]}=e||{},n=({interfaceLanguage:e})=>e===O["a"].objectiveC.key.api,i=({traits:e})=>e.some(n),a=t.find(i);return a?a.patch:null},enableQuickNavigation:({isTargetIDE:e})=>!e&&Object(Ze["c"])(["features","docs","quickNavigation","enable"],!0),topicData:{get(){return this.topicDataObjc?this.topicDataObjc:this.topicDataDefault},set(e){this.topicDataDefault=e}},topicKey:({$route:e,topicProps:t})=>[e.path,t.interfaceLanguage].join(),topicProps(){return kd(this.topicData)},parentTopicIdentifiers:({topicProps:{hierarchy:{paths:e=[]},references:t},$route:n})=>e.length?e.find(e=>{const i=e.find(e=>t[e]&&"technologies"!==t[e].kind),a=i&&t[i];return a&&n.path.toLowerCase().startsWith(a.url.toLowerCase())})||e[0]:[],technology:({$route:e,topicProps:{identifier:t,references:n,role:i,title:a},parentTopicIdentifiers:s})=>{const r={title:a,url:e.path},o=n[t];if(!s.length)return o||r;const l=n[s[0]];return l&&"technologies"!==l.kind?l:(i!==k["a"].collection||o)&&(l&&n[s[1]]||o)||r},languagePaths:({topicData:{variants:e=[]}})=>e.reduce((e,t)=>t.traits.reduce((e,n)=>n.interfaceLanguage?{...e,[n.interfaceLanguage]:(e[n.interfaceLanguage]||[]).concat(t.paths)}:e,e),{}),objcPath:({languagePaths:{[O["a"].objectiveC.key.api]:[e]=[]}={}})=>e,swiftPath:({languagePaths:{[O["a"].swift.key.api]:[e]=[]}={}})=>e,isSymbolBeta:({topicProps:{platforms:e}})=>!!(e&&e.length&&e.every(e=>e.beta)),isSymbolDeprecated:({topicProps:{platforms:e,deprecationSummary:t}})=>!!(t&&t.length>0||e&&e.length&&e.every(e=>e.deprecatedAt)),enableNavigator:({isTargetIDE:e,topicDataDefault:t})=>!e&&Object(yd["b"])(Object(yd["a"])(t.schemaVersion),_d)>=0,enableOnThisPageNav:({isTargetIDE:e})=>!Object(Ze["c"])(["features","docs","onThisPageNavigator","disable"],!1)&&!e,sidebarProps:({sidenavVisibleOnMobile:e,enableNavigator:t,sidenavHiddenOnLarge:n})=>t?{shownOnMobile:e,hiddenOnLarge:n}:{},sidebarListeners(){return this.enableNavigator?{"update:shownOnMobile":this.toggleMobileSidenav,"update:hiddenOnLarge":this.toggleLargeSidenav}:{}}},methods:{applyObjcOverrides(){this.topicDataObjc=C(Object(w["a"])(this.topicData),this.objcOverrides)},handleCodeColorsChange(e){Rs["a"].updateCodeColors(e)},handleToggleSidenav(e){e===Vo["b"].large?this.toggleLargeSidenav():this.toggleMobileSidenav()},openQuickNavigationModal(){this.sidenavVisibleOnMobile||(this.showQuickNavigationModal=!0)},toggleLargeSidenav(e=!this.sidenavHiddenOnLarge){this.sidenavHiddenOnLarge=e,Fo["c"].set(Cd,e)},toggleMobileSidenav(e=!this.sidenavVisibleOnMobile){this.sidenavVisibleOnMobile=e},onQuickNavigationKeydown(e){("/"===e.key||"o"===e.key&&e.shiftKey&&e.metaKey)&&this.enableNavigator&&"input"!==e.target.tagName.toLowerCase()&&(this.openQuickNavigationModal(),e.preventDefault())}},mounted(){this.$bridge.on("contentUpdate",this.handleContentUpdateFromBridge),this.$bridge.on("codeColors",this.handleCodeColorsChange),this.$bridge.send({type:"requestCodeColors"}),this.enableQuickNavigation&&window.addEventListener("keydown",this.onQuickNavigationKeydown)},provide(){return{store:this.store}},inject:{isTargetIDE:{default(){return!1}}},beforeDestroy(){this.$bridge.off("contentUpdate",this.handleContentUpdateFromBridge),this.$bridge.off("codeColors",this.handleCodeColorsChange),this.enableQuickNavigation&&window.removeEventListener("keydown",this.onQuickNavigationKeydown)},beforeRouteEnter(e,t,n){e.meta.skipFetchingData?n(e=>e.newContentMounted()):Object(w["c"])(e,t,n).then(t=>n(n=>{Object(Sd["c"])(e.params.locale,n),n.topicData=t,e.query.language===O["a"].objectiveC.key.url&&n.objcOverrides&&n.applyObjcOverrides()})).catch(n)},beforeRouteUpdate(e,t,n){e.path===t.path&&e.query.language===O["a"].objectiveC.key.url&&this.objcOverrides?(this.applyObjcOverrides(),n()):Object(w["e"])(e,t)?Object(w["c"])(e,t,n).then(t=>{this.topicDataObjc=null,this.topicData=t,e.query.language===O["a"].objectiveC.key.url&&this.objcOverrides&&this.applyObjcOverrides(),Object(Sd["c"])(e.params.locale,this),n()}).catch(n):n()},created(){this.store.reset()},watch:{topicData(){this.$nextTick(()=>{this.newContentMounted()})}}},Id=wd,xd=(n("857c"),Object(K["a"])(Id,i,a,!1,null,"4a89caca",null));t["default"]=xd.exports},f9c9:function(e,t,n){}}]);
\ No newline at end of file
--- /dev/null
+/*!
+ * This source file is part of the Swift.org open source project
+ *
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ *
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["documentation-topic~topic"],{"1c3f":function(t,e,n){"use strict";n("b826")},"2b88":function(t,e,n){"use strict";
+/*!
+ * portal-vue © Thorsten Lünborg, 2019
+ *
+ * Version: 2.1.7
+ *
+ * LICENCE: MIT
+ *
+ * https://github.com/linusborg/portal-vue
+ *
+ */function s(t){return t&&"object"===typeof t&&"default"in t?t["default"]:t}Object.defineProperty(e,"__esModule",{value:!0});var r=s(n("2b0e"));function o(t){return o="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"===typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},o(t)}function a(t){return i(t)||l(t)||c()}function i(t){if(Array.isArray(t)){for(var e=0,n=new Array(t.length);e<t.length;e++)n[e]=t[e];return n}}function l(t){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t))return Array.from(t)}function c(){throw new TypeError("Invalid attempt to spread non-iterable instance")}var u="undefined"!==typeof window;function h(t){return Array.isArray(t)||"object"===o(t)?Object.freeze(t):t}function d(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return t.reduce((function(t,n){var s=n.passengers[0],r="function"===typeof s?s(e):n.passengers;return t.concat(r)}),[])}function f(t,e){return t.map((function(t,e){return[e,t]})).sort((function(t,n){return e(t[1],n[1])||t[0]-n[0]})).map((function(t){return t[1]}))}function p(t,e){return e.reduce((function(e,n){return t.hasOwnProperty(n)&&(e[n]=t[n]),e}),{})}var m={},g={},y={},b=r.extend({data:function(){return{transports:m,targets:g,sources:y,trackInstances:u}},methods:{open:function(t){if(u){var e=t.to,n=t.from,s=t.passengers,o=t.order,a=void 0===o?1/0:o;if(e&&n&&s){var i={to:e,from:n,passengers:h(s),order:a},l=Object.keys(this.transports);-1===l.indexOf(e)&&r.set(this.transports,e,[]);var c=this.$_getTransportIndex(i),d=this.transports[e].slice(0);-1===c?d.push(i):d[c]=i,this.transports[e]=f(d,(function(t,e){return t.order-e.order}))}}},close:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=t.to,s=t.from;if(n&&(s||!1!==e)&&this.transports[n])if(e)this.transports[n]=[];else{var r=this.$_getTransportIndex(t);if(r>=0){var o=this.transports[n].slice(0);o.splice(r,1),this.transports[n]=o}}},registerTarget:function(t,e,n){u&&(this.trackInstances&&!n&&this.targets[t]&&console.warn("[portal-vue]: Target ".concat(t," already exists")),this.$set(this.targets,t,Object.freeze([e])))},unregisterTarget:function(t){this.$delete(this.targets,t)},registerSource:function(t,e,n){u&&(this.trackInstances&&!n&&this.sources[t]&&console.warn("[portal-vue]: source ".concat(t," already exists")),this.$set(this.sources,t,Object.freeze([e])))},unregisterSource:function(t){this.$delete(this.sources,t)},hasTarget:function(t){return!(!this.targets[t]||!this.targets[t][0])},hasSource:function(t){return!(!this.sources[t]||!this.sources[t][0])},hasContentFor:function(t){return!!this.transports[t]&&!!this.transports[t].length},$_getTransportIndex:function(t){var e=t.to,n=t.from;for(var s in this.transports[e])if(this.transports[e][s].from===n)return+s;return-1}}}),v=new b(m),T=1,S=r.extend({name:"portal",props:{disabled:{type:Boolean},name:{type:String,default:function(){return String(T++)}},order:{type:Number,default:0},slim:{type:Boolean},slotProps:{type:Object,default:function(){return{}}},tag:{type:String,default:"DIV"},to:{type:String,default:function(){return String(Math.round(1e7*Math.random()))}}},created:function(){var t=this;this.$nextTick((function(){v.registerSource(t.name,t)}))},mounted:function(){this.disabled||this.sendUpdate()},updated:function(){this.disabled?this.clear():this.sendUpdate()},beforeDestroy:function(){v.unregisterSource(this.name),this.clear()},watch:{to:function(t,e){e&&e!==t&&this.clear(e),this.sendUpdate()}},methods:{clear:function(t){var e={from:this.name,to:t||this.to};v.close(e)},normalizeSlots:function(){return this.$scopedSlots.default?[this.$scopedSlots.default]:this.$slots.default},normalizeOwnChildren:function(t){return"function"===typeof t?t(this.slotProps):t},sendUpdate:function(){var t=this.normalizeSlots();if(t){var e={from:this.name,to:this.to,passengers:a(t),order:this.order};v.open(e)}else this.clear()}},render:function(t){var e=this.$slots.default||this.$scopedSlots.default||[],n=this.tag;return e&&this.disabled?e.length<=1&&this.slim?this.normalizeOwnChildren(e)[0]:t(n,[this.normalizeOwnChildren(e)]):this.slim?t():t(n,{class:{"v-portal":!0},style:{display:"none"},key:"v-portal-placeholder"})}}),w=r.extend({name:"portalTarget",props:{multiple:{type:Boolean,default:!1},name:{type:String,required:!0},slim:{type:Boolean,default:!1},slotProps:{type:Object,default:function(){return{}}},tag:{type:String,default:"div"},transition:{type:[String,Object,Function]}},data:function(){return{transports:v.transports,firstRender:!0}},created:function(){var t=this;this.$nextTick((function(){v.registerTarget(t.name,t)}))},watch:{ownTransports:function(){this.$emit("change",this.children().length>0)},name:function(t,e){v.unregisterTarget(e),v.registerTarget(t,this)}},mounted:function(){var t=this;this.transition&&this.$nextTick((function(){t.firstRender=!1}))},beforeDestroy:function(){v.unregisterTarget(this.name)},computed:{ownTransports:function(){var t=this.transports[this.name]||[];return this.multiple?t:0===t.length?[]:[t[t.length-1]]},passengers:function(){return d(this.ownTransports,this.slotProps)}},methods:{children:function(){return 0!==this.passengers.length?this.passengers:this.$scopedSlots.default?this.$scopedSlots.default(this.slotProps):this.$slots.default||[]},noWrapper:function(){var t=this.slim&&!this.transition;return t&&this.children().length>1&&console.warn("[portal-vue]: PortalTarget with `slim` option received more than one child element."),t}},render:function(t){var e=this.noWrapper(),n=this.children(),s=this.transition||this.tag;return e?n[0]:this.slim&&!s?t():t(s,{props:{tag:this.transition&&this.tag?this.tag:void 0},class:{"vue-portal-target":!0}},n)}}),C=0,$=["disabled","name","order","slim","slotProps","tag","to"],k=["multiple","transition"],x=r.extend({name:"MountingPortal",inheritAttrs:!1,props:{append:{type:[Boolean,String]},bail:{type:Boolean},mountTo:{type:String,required:!0},disabled:{type:Boolean},name:{type:String,default:function(){return"mounted_"+String(C++)}},order:{type:Number,default:0},slim:{type:Boolean},slotProps:{type:Object,default:function(){return{}}},tag:{type:String,default:"DIV"},to:{type:String,default:function(){return String(Math.round(1e7*Math.random()))}},multiple:{type:Boolean,default:!1},targetSlim:{type:Boolean},targetSlotProps:{type:Object,default:function(){return{}}},targetTag:{type:String,default:"div"},transition:{type:[String,Object,Function]}},created:function(){if("undefined"!==typeof document){var t=document.querySelector(this.mountTo);if(t){var e=this.$props;if(v.targets[e.name])e.bail?console.warn("[portal-vue]: Target ".concat(e.name," is already mounted.\n Aborting because 'bail: true' is set")):this.portalTarget=v.targets[e.name];else{var n=e.append;if(n){var s="string"===typeof n?n:"DIV",r=document.createElement(s);t.appendChild(r),t=r}var o=p(this.$props,k);o.slim=this.targetSlim,o.tag=this.targetTag,o.slotProps=this.targetSlotProps,o.name=this.to,this.portalTarget=new w({el:t,parent:this.$parent||this,propsData:o})}}else console.error("[portal-vue]: Mount Point '".concat(this.mountTo,"' not found in document"))}},beforeDestroy:function(){var t=this.portalTarget;if(this.append){var e=t.$el;e.parentNode.removeChild(e)}t.$destroy()},render:function(t){if(!this.portalTarget)return console.warn("[portal-vue] Target wasn't mounted"),t();if(!this.$scopedSlots.manual){var e=p(this.$props,$);return t(S,{props:e,attrs:this.$attrs,on:this.$listeners,scopedSlots:this.$scopedSlots},this.$slots.default)}var n=this.$scopedSlots.manual({to:this.to});return Array.isArray(n)&&(n=n[0]),n||t()}});function P(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};t.component(e.portalName||"Portal",S),t.component(e.portalTargetName||"PortalTarget",w),t.component(e.MountingPortalName||"MountingPortal",x)}var I={install:P};e.default=I,e.Portal=S,e.PortalTarget=w,e.MountingPortal=x,e.Wormhole=v},"66c9":function(t,e,n){"use strict";e["a"]={state:{codeColors:null},reset(){this.state.codeColors=null},updateCodeColors(t){const e=t=>t?`rgba(${t.red}, ${t.green}, ${t.blue}, ${t.alpha})`:null;this.state.codeColors=Object.entries(t).reduce((t,[n,s])=>({...t,[n]:e(s)}),{})}}},7948:function(t,e,n){"use strict";var s=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("SVGIcon",{staticClass:"inline-chevron-down-icon",attrs:{viewBox:"0 0 14 14",themeId:"inline-chevron-down"}},[n("path",{attrs:{d:"M12.634 2.964l0.76 0.649-6.343 7.426-6.445-7.423 0.755-0.655 5.683 6.545 5.59-6.542z"}})])},r=[],o=n("be08"),a={name:"InlineChevronDownIcon",components:{SVGIcon:o["a"]}},i=a,l=n("2877"),c=Object(l["a"])(i,s,r,!1,null,null,null);e["a"]=c.exports},8590:function(t,e,n){"use strict";var s=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{style:t.codeStyle},[t._t("default")],2)},r=[],o=n("66c9");const a=0,i=255;function l(t){const e=t.match(/rgba\((\d+),\s*(\d+),\s*(\d+),\s*(\d+\.?\d*|\.\d+)\s*\)/);if(!e)throw new Error("invalid rgba() input");const n=10;return{r:parseInt(e[1],n),g:parseInt(e[2],n),b:parseInt(e[3],n),a:parseFloat(e[4])}}function c(t){const{r:e,g:n,b:s}=l(t);return.2126*e+.7152*n+.0722*s}function u(t,e){const n=Math.round(i*e),s=l(t),{a:r}=s,[o,c,u]=[s.r,s.g,s.b].map(t=>Math.max(a,Math.min(i,t+n)));return`rgba(${o}, ${c}, ${u}, ${r})`}function h(t,e){return u(t,e)}function d(t,e){return u(t,-1*e)}var f={name:"CodeTheme",data(){return{codeThemeState:o["a"].state}},computed:{codeStyle(){const{codeColors:t}=this.codeThemeState;return t?{"--text":t.text,"--background":t.background,"--line-highlight":t.lineHighlight,"--url":t.commentURL,"--syntax-comment":t.comment,"--syntax-quote":t.comment,"--syntax-keyword":t.keyword,"--syntax-literal":t.keyword,"--syntax-selector-tag":t.keyword,"--syntax-string":t.stringLiteral,"--syntax-bullet":t.stringLiteral,"--syntax-meta":t.keyword,"--syntax-number":t.stringLiteral,"--syntax-symbol":t.stringLiteral,"--syntax-tag":t.stringLiteral,"--syntax-attr":t.typeAnnotation,"--syntax-built_in":t.typeAnnotation,"--syntax-builtin-name":t.typeAnnotation,"--syntax-class":t.typeAnnotation,"--syntax-params":t.typeAnnotation,"--syntax-section":t.typeAnnotation,"--syntax-title":t.typeAnnotation,"--syntax-type":t.typeAnnotation,"--syntax-attribute":t.keyword,"--syntax-identifier":t.text,"--syntax-subst":t.text,"--color-syntax-param-internal-name":this.internalParamNameColor}:null},internalParamNameColor(){const{background:t,text:e}=this.codeThemeState.codeColors;try{const n=c(t),s=n<i/2?d:h,r=.25;return s(e,r)}catch{return e}}}},p=f,m=n("2877"),g=Object(m["a"])(p,s,r,!1,null,null,null);e["a"]=g.exports},b826:function(t,e,n){},c161:function(t,e,n){"use strict";var s=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("PortalSource",{attrs:{to:"modal-destination",disabled:!t.isVisible}},[n("div",{directives:[{name:"show",rawName:"v-show",value:t.isVisible,expression:"isVisible"}],staticClass:"generic-modal",class:[t.stateClasses,t.themeClass],style:t.modalColors,attrs:{role:"dialog"}},[n("div",{staticClass:"backdrop",on:{click:t.onClickOutside}}),n("div",{ref:"container",staticClass:"container",style:{width:t.width}},[t.showClose?n("button",{ref:"close",staticClass:"close",attrs:{"aria-label":t.$t("verbs.close")},on:{click:function(e){return e.preventDefault(),t.closeModal.apply(null,arguments)}}},[n("CloseIcon")],1):t._e(),n("div",{ref:"content",staticClass:"modal-content"},[t._t("default")],2)])])])},r=[],o=n("f2af"),a=n("c8e2"),i=n("95da"),l=n("2b88"),c=n("a919");const u={light:"light",dark:"dark",dynamic:"dynamic",code:"code"};var h={name:"GenericModal",model:{prop:"visible",event:"update:visible"},components:{CloseIcon:c["a"],PortalSource:l["Portal"]},props:{visible:{type:Boolean,default:!1},isFullscreen:{type:Boolean,default:!1},theme:{type:String,validator:t=>Object.keys(u).includes(t),default:u.light},codeBackgroundColorOverride:{type:String,default:""},backdropBackgroundColorOverride:{type:String,default:""},width:{type:String,default:null},showClose:{type:Boolean,default:!0}},data(){return{lastFocusItem:null,prefersDarkStyle:!1,focusTrapInstance:null}},computed:{isVisible:{get:({visible:t})=>t,set(t){this.$emit("update:visible",t)}},modalColors(){return{"--code-background":this.codeBackgroundColorOverride,"--backdrop-background":this.backdropBackgroundColorOverride}},themeClass({theme:t,prefersDarkStyle:e,isThemeDynamic:n}){let s={};return n&&(s={"theme-light":!e,"theme-dark":e}),["theme-"+t,s]},stateClasses:({isFullscreen:t,isVisible:e,showClose:n})=>({"modal-fullscreen":t,"modal-standard":!t,"modal-open":e,"modal-with-close":n}),isThemeDynamic:({theme:t})=>t===u.dynamic||t===u.code},watch:{isVisible(t){t?this.onShow():this.onHide()}},mounted(){if(this.focusTrapInstance=new a["a"],document.addEventListener("keydown",this.onKeydown),this.isThemeDynamic){const t=window.matchMedia("(prefers-color-scheme: dark)");t.addListener(this.onColorSchemePreferenceChange),this.$once("hook:beforeDestroy",()=>{t.removeListener(this.onColorSchemePreferenceChange)}),this.onColorSchemePreferenceChange(t)}},beforeDestroy(){this.isVisible&&o["b"].unlockScroll(this.$refs.container),document.removeEventListener("keydown",this.onKeydown),this.focusTrapInstance.destroy()},methods:{async onShow(){await this.$nextTick(),o["b"].lockScroll(this.$refs.container),await this.focusCloseButton(),this.focusTrapInstance.updateFocusContainer(this.$refs.container),this.focusTrapInstance.start(),i["a"].hide(this.$refs.container)},onHide(){o["b"].unlockScroll(this.$refs.container),this.focusTrapInstance.stop(),this.lastFocusItem&&(this.lastFocusItem.focus({preventScroll:!0}),this.lastFocusItem=null),this.$emit("close"),i["a"].show(this.$refs.container)},closeModal(){this.isVisible=!1},selectContent(){window.getSelection().selectAllChildren(this.$refs.content)},onClickOutside(){this.closeModal()},onKeydown(t){const{metaKey:e=!1,ctrlKey:n=!1,key:s}=t;this.isVisible&&("a"===s&&(e||n)&&(t.preventDefault(),this.selectContent()),"Escape"===s&&(t.preventDefault(),this.closeModal()))},onColorSchemePreferenceChange({matches:t}){this.prefersDarkStyle=t},async focusCloseButton(){this.lastFocusItem=document.activeElement,await this.$nextTick(),this.$refs.close&&this.$refs.close.focus(),this.$emit("open")}}},d=h,f=(n("1c3f"),n("2877")),p=Object(f["a"])(d,s,r,!1,null,"795f7b59",null);e["a"]=p.exports},c8e2:function(t,e,n){"use strict";function s(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}n.d(e,"a",(function(){return o}));var r=n("0cb0");class o{constructor(t){s(this,"focusContainer",null),s(this,"tabTargets",[]),s(this,"firstTabTarget",null),s(this,"lastTabTarget",null),s(this,"lastFocusedElement",null),this.focusContainer=t,this.onFocus=this.onFocus.bind(this)}updateFocusContainer(t){this.focusContainer=t}start(){this.collectTabTargets(),this.firstTabTarget?this.focusContainer.contains(document.activeElement)&&r["a"].isTabbableElement(document.activeElement)||this.firstTabTarget.focus():console.warn("There are no focusable elements. FocusTrap needs at least one."),this.lastFocusedElement=document.activeElement,document.addEventListener("focus",this.onFocus,!0)}stop(){document.removeEventListener("focus",this.onFocus,!0)}collectTabTargets(){this.tabTargets=r["a"].getTabbableElements(this.focusContainer),this.firstTabTarget=this.tabTargets[0],this.lastTabTarget=this.tabTargets[this.tabTargets.length-1]}onFocus(t){if(this.focusContainer.contains(t.target))this.lastFocusedElement=t.target;else{if(t.preventDefault(),this.collectTabTargets(),this.lastFocusedElement===this.lastTabTarget||!this.lastFocusedElement||!document.contains(this.lastFocusedElement))return this.firstTabTarget.focus(),void(this.lastFocusedElement=this.firstTabTarget);this.lastFocusedElement===this.firstTabTarget&&(this.lastTabTarget.focus(),this.lastFocusedElement=this.lastTabTarget)}}destroy(){this.stop(),this.focusContainer=null,this.tabTargets=[],this.firstTabTarget=null,this.lastTabTarget=null,this.lastFocusedElement=null}}}}]);
\ No newline at end of file
--- /dev/null
+/*!
+ * This source file is part of the Swift.org open source project
+ *
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ *
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["documentation-topic~topic~tutorials-overview"],{"007b":function(e,t,n){},"0444":function(e,t,n){},"05a1":function(e,t,n){},"0939":function(e,t,n){"use strict";n("9034")},"0caf":function(e,t,n){"use strict";t["a"]={inject:{performanceMetricsEnabled:{default:!1},isTargetIDE:{default:!1}},methods:{newContentMounted(){let e;this.performanceMetricsEnabled&&(e=Math.round(window.performance.now()),window.renderedTimes||(window.renderedTimes=[]),window.renderedTimes.push(e)),this.$bridge.send({type:"rendered",data:{time:e}})},handleContentUpdateFromBridge(e){this.topicData=e}}}},"0cb0":function(e,t,n){"use strict";const i=["input","select","textarea","button","optgroup","option","menuitem","fieldset","object","a[href]","*[tabindex]","*[contenteditable]"],a=i.join(",");t["a"]={getTabbableElements(e){const t=e.querySelectorAll(a),n=t.length;let i;const r=[];for(i=0;i<n;i+=1)this.isTabbableElement(t[i])&&r.push(t[i]);return r},isTabbableElement(e){if(!e.offsetParent)return!1;const t=parseFloat(e.getAttribute("tabindex"));return Number.isNaN(t)?this.isFocusableElement(e):t>=0},isFocusableElement(e){const t=e.nodeName.toLowerCase(),n=i.includes(t);return!("a"!==t||!e.getAttribute("href"))||(n?!e.disabled:"true"===e.getAttribute("contenteditable")||!Number.isNaN(parseFloat(e.getAttribute("tabindex"))))}}},"0cf0":function(e,t,n){},"0da1":function(e,t,n){"use strict";n("5c97")},"0eaa":function(e,t,n){},"0f00":function(e,t,n){"use strict";var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"row"},[e._t("default")],2)},a=[],r={name:"GridRow"},s=r,o=(n("2224"),n("2877")),c=Object(o["a"])(s,i,a,!1,null,"be73599c",null);t["a"]=c.exports},1020:function(e,t){var n={exports:{}};function i(e){return e instanceof Map?e.clear=e.delete=e.set=function(){throw new Error("map is read-only")}:e instanceof Set&&(e.add=e.clear=e.delete=function(){throw new Error("set is read-only")}),Object.freeze(e),Object.getOwnPropertyNames(e).forEach((function(t){var n=e[t];"object"!=typeof n||Object.isFrozen(n)||i(n)})),e}n.exports=i,n.exports.default=i;var a=n.exports;class r{constructor(e){void 0===e.data&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function s(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function o(e,...t){const n=Object.create(null);for(const i in e)n[i]=e[i];return t.forEach((function(e){for(const t in e)n[t]=e[t]})),n}const c="</span>",l=e=>!!e.kind,u=(e,{prefix:t})=>{if(e.includes(".")){const n=e.split(".");return[`${t}${n.shift()}`,...n.map((e,t)=>`${e}${"_".repeat(t+1)}`)].join(" ")}return`${t}${e}`};class d{constructor(e,t){this.buffer="",this.classPrefix=t.classPrefix,e.walk(this)}addText(e){this.buffer+=s(e)}openNode(e){if(!l(e))return;let t=e.kind;t=e.sublanguage?"language-"+t:u(t,{prefix:this.classPrefix}),this.span(t)}closeNode(e){l(e)&&(this.buffer+=c)}value(){return this.buffer}span(e){this.buffer+=`<span class="${e}">`}}class p{constructor(){this.rootNode={children:[]},this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){const t={kind:e,children:[]};this.add(t),this.stack.push(t)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){while(this.closeNode());}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,t){return"string"===typeof t?e.addText(t):t.children&&(e.openNode(t),t.children.forEach(t=>this._walk(e,t)),e.closeNode(t)),e}static _collapse(e){"string"!==typeof e&&e.children&&(e.children.every(e=>"string"===typeof e)?e.children=[e.children.join("")]:e.children.forEach(e=>{p._collapse(e)}))}}class h extends p{constructor(e){super(),this.options=e}addKeyword(e,t){""!==e&&(this.openNode(t),this.addText(e),this.closeNode())}addText(e){""!==e&&this.add(e)}addSublanguage(e,t){const n=e.root;n.kind=t,n.sublanguage=!0,this.add(n)}toHTML(){const e=new d(this,this.options);return e.value()}finalize(){return!0}}function m(e){return e?"string"===typeof e?e:e.source:null}function f(e){return v("(?=",e,")")}function g(e){return v("(?:",e,")*")}function b(e){return v("(?:",e,")?")}function v(...e){const t=e.map(e=>m(e)).join("");return t}function y(e){const t=e[e.length-1];return"object"===typeof t&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}function w(...e){const t=y(e),n="("+(t.capture?"":"?:")+e.map(e=>m(e)).join("|")+")";return n}function _(e){return new RegExp(e.toString()+"|").exec("").length-1}function x(e,t){const n=e&&e.exec(t);return n&&0===n.index}const k=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function C(e,{joinWith:t}){let n=0;return e.map(e=>{n+=1;const t=n;let i=m(e),a="";while(i.length>0){const e=k.exec(i);if(!e){a+=i;break}a+=i.substring(0,e.index),i=i.substring(e.index+e[0].length),"\\"===e[0][0]&&e[1]?a+="\\"+String(Number(e[1])+t):(a+=e[0],"("===e[0]&&n++)}return a}).map(e=>`(${e})`).join(t)}const S=/\b\B/,E="[a-zA-Z]\\w*",O="[a-zA-Z_]\\w*",I="\\b\\d+(\\.\\d+)?",j="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",T="\\b(0b[01]+)",A="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",L=(e={})=>{const t=/^#![ ]*\//;return e.binary&&(e.begin=v(t,/.*\b/,e.binary,/\b.*/)),o({scope:"meta",begin:t,end:/$/,relevance:0,"on:begin":(e,t)=>{0!==e.index&&t.ignoreMatch()}},e)},B={begin:"\\\\[\\s\\S]",relevance:0},$={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[B]},N={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[B]},M={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},P=function(e,t,n={}){const i=o({scope:"comment",begin:e,end:t,contains:[]},n);i.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const a=w("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return i.contains.push({begin:v(/[ ]+/,"(",a,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),i},R=P("//","$"),V=P("/\\*","\\*/"),D=P("#","$"),G={scope:"number",begin:I,relevance:0},z={scope:"number",begin:j,relevance:0},q={scope:"number",begin:T,relevance:0},F={begin:/(?=\/[^/\n]*\/)/,contains:[{scope:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[B,{begin:/\[/,end:/\]/,relevance:0,contains:[B]}]}]},U={scope:"title",begin:E,relevance:0},W={scope:"title",begin:O,relevance:0},H={begin:"\\.\\s*"+O,relevance:0},K=function(e){return Object.assign(e,{"on:begin":(e,t)=>{t.data._beginMatch=e[1]},"on:end":(e,t)=>{t.data._beginMatch!==e[1]&&t.ignoreMatch()}})};var Z=Object.freeze({__proto__:null,MATCH_NOTHING_RE:S,IDENT_RE:E,UNDERSCORE_IDENT_RE:O,NUMBER_RE:I,C_NUMBER_RE:j,BINARY_NUMBER_RE:T,RE_STARTERS_RE:A,SHEBANG:L,BACKSLASH_ESCAPE:B,APOS_STRING_MODE:$,QUOTE_STRING_MODE:N,PHRASAL_WORDS_MODE:M,COMMENT:P,C_LINE_COMMENT_MODE:R,C_BLOCK_COMMENT_MODE:V,HASH_COMMENT_MODE:D,NUMBER_MODE:G,C_NUMBER_MODE:z,BINARY_NUMBER_MODE:q,REGEXP_MODE:F,TITLE_MODE:U,UNDERSCORE_TITLE_MODE:W,METHOD_GUARD:H,END_SAME_AS_BEGIN:K});function Y(e,t){const n=e.input[e.index-1];"."===n&&t.ignoreMatch()}function X(e,t){void 0!==e.className&&(e.scope=e.className,delete e.className)}function J(e,t){t&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",e.__beforeBegin=Y,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,void 0===e.relevance&&(e.relevance=0))}function Q(e,t){Array.isArray(e.illegal)&&(e.illegal=w(...e.illegal))}function ee(e,t){if(e.match){if(e.begin||e.end)throw new Error("begin & end are not supported with match");e.begin=e.match,delete e.match}}function te(e,t){void 0===e.relevance&&(e.relevance=1)}const ne=(e,t)=>{if(!e.beforeMatch)return;if(e.starts)throw new Error("beforeMatch cannot be used with starts");const n=Object.assign({},e);Object.keys(e).forEach(t=>{delete e[t]}),e.keywords=n.keywords,e.begin=v(n.beforeMatch,f(n.begin)),e.starts={relevance:0,contains:[Object.assign(n,{endsParent:!0})]},e.relevance=0,delete n.beforeMatch},ie=["of","and","for","in","not","or","if","then","parent","list","value"],ae="keyword";function re(e,t,n=ae){const i=Object.create(null);return"string"===typeof e?a(n,e.split(" ")):Array.isArray(e)?a(n,e):Object.keys(e).forEach((function(n){Object.assign(i,re(e[n],t,n))})),i;function a(e,n){t&&(n=n.map(e=>e.toLowerCase())),n.forEach((function(t){const n=t.split("|");i[n[0]]=[e,se(n[0],n[1])]}))}}function se(e,t){return t?Number(t):oe(e)?0:1}function oe(e){return ie.includes(e.toLowerCase())}const ce={},le=e=>{console.error(e)},ue=(e,...t)=>{console.log("WARN: "+e,...t)},de=(e,t)=>{ce[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),ce[`${e}/${t}`]=!0)},pe=new Error;function he(e,t,{key:n}){let i=0;const a=e[n],r={},s={};for(let o=1;o<=t.length;o++)s[o+i]=a[o],r[o+i]=!0,i+=_(t[o-1]);e[n]=s,e[n]._emit=r,e[n]._multi=!0}function me(e){if(Array.isArray(e.begin)){if(e.skip||e.excludeBegin||e.returnBegin)throw le("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),pe;if("object"!==typeof e.beginScope||null===e.beginScope)throw le("beginScope must be object"),pe;he(e,e.begin,{key:"beginScope"}),e.begin=C(e.begin,{joinWith:""})}}function fe(e){if(Array.isArray(e.end)){if(e.skip||e.excludeEnd||e.returnEnd)throw le("skip, excludeEnd, returnEnd not compatible with endScope: {}"),pe;if("object"!==typeof e.endScope||null===e.endScope)throw le("endScope must be object"),pe;he(e,e.end,{key:"endScope"}),e.end=C(e.end,{joinWith:""})}}function ge(e){e.scope&&"object"===typeof e.scope&&null!==e.scope&&(e.beginScope=e.scope,delete e.scope)}function be(e){ge(e),"string"===typeof e.beginScope&&(e.beginScope={_wrap:e.beginScope}),"string"===typeof e.endScope&&(e.endScope={_wrap:e.endScope}),me(e),fe(e)}function ve(e){function t(t,n){return new RegExp(m(t),"m"+(e.case_insensitive?"i":"")+(e.unicodeRegex?"u":"")+(n?"g":""))}class n{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(e,t){t.position=this.position++,this.matchIndexes[this.matchAt]=t,this.regexes.push([t,e]),this.matchAt+=_(e)+1}compile(){0===this.regexes.length&&(this.exec=()=>null);const e=this.regexes.map(e=>e[1]);this.matcherRe=t(C(e,{joinWith:"|"}),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex;const t=this.matcherRe.exec(e);if(!t)return null;const n=t.findIndex((e,t)=>t>0&&void 0!==e),i=this.matchIndexes[n];return t.splice(0,n),Object.assign(t,i)}}class i{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){if(this.multiRegexes[e])return this.multiRegexes[e];const t=new n;return this.rules.slice(e).forEach(([e,n])=>t.addRule(e,n)),t.compile(),this.multiRegexes[e]=t,t}resumingScanAtSamePosition(){return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(e,t){this.rules.push([e,t]),"begin"===t.type&&this.count++}exec(e){const t=this.getMatcher(this.regexIndex);t.lastIndex=this.lastIndex;let n=t.exec(e);if(this.resumingScanAtSamePosition())if(n&&n.index===this.lastIndex);else{const t=this.getMatcher(0);t.lastIndex=this.lastIndex+1,n=t.exec(e)}return n&&(this.regexIndex+=n.position+1,this.regexIndex===this.count&&this.considerAll()),n}}function a(e){const t=new i;return e.contains.forEach(e=>t.addRule(e.begin,{rule:e,type:"begin"})),e.terminatorEnd&&t.addRule(e.terminatorEnd,{type:"end"}),e.illegal&&t.addRule(e.illegal,{type:"illegal"}),t}function r(n,i){const s=n;if(n.isCompiled)return s;[X,ee,be,ne].forEach(e=>e(n,i)),e.compilerExtensions.forEach(e=>e(n,i)),n.__beforeBegin=null,[J,Q,te].forEach(e=>e(n,i)),n.isCompiled=!0;let o=null;return"object"===typeof n.keywords&&n.keywords.$pattern&&(n.keywords=Object.assign({},n.keywords),o=n.keywords.$pattern,delete n.keywords.$pattern),o=o||/\w+/,n.keywords&&(n.keywords=re(n.keywords,e.case_insensitive)),s.keywordPatternRe=t(o,!0),i&&(n.begin||(n.begin=/\B|\b/),s.beginRe=t(s.begin),n.end||n.endsWithParent||(n.end=/\B|\b/),n.end&&(s.endRe=t(s.end)),s.terminatorEnd=m(s.end)||"",n.endsWithParent&&i.terminatorEnd&&(s.terminatorEnd+=(n.end?"|":"")+i.terminatorEnd)),n.illegal&&(s.illegalRe=t(n.illegal)),n.contains||(n.contains=[]),n.contains=[].concat(...n.contains.map((function(e){return we("self"===e?n:e)}))),n.contains.forEach((function(e){r(e,s)})),n.starts&&r(n.starts,i),s.matcher=a(s),s}if(e.compilerExtensions||(e.compilerExtensions=[]),e.contains&&e.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return e.classNameAliases=o(e.classNameAliases||{}),r(e)}function ye(e){return!!e&&(e.endsWithParent||ye(e.starts))}function we(e){return e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map((function(t){return o(e,{variants:null},t)}))),e.cachedVariants?e.cachedVariants:ye(e)?o(e,{starts:e.starts?o(e.starts):null}):Object.isFrozen(e)?o(e):e}var _e="11.3.1";class xe extends Error{constructor(e,t){super(e),this.name="HTMLInjectionError",this.html=t}}const ke=s,Ce=o,Se=Symbol("nomatch"),Ee=7,Oe=function(e){const t=Object.create(null),n=Object.create(null),i=[];let s=!0;const o="Could not find the language '{}', did you forget to load/include a language module?",c={disableAutodetect:!0,name:"Plain text",contains:[]};let l={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:h};function u(e){return l.noHighlightRe.test(e)}function d(e){let t=e.className+" ";t+=e.parentNode?e.parentNode.className:"";const n=l.languageDetectRe.exec(t);if(n){const t=$(n[1]);return t||(ue(o.replace("{}",n[1])),ue("Falling back to no-highlight mode for this block.",e)),t?n[1]:"no-highlight"}return t.split(/\s+/).find(e=>u(e)||$(e))}function p(e,t,n){let i="",a="";"object"===typeof t?(i=e,n=t.ignoreIllegals,a=t.language):(de("10.7.0","highlight(lang, code, ...args) has been deprecated."),de("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"),a=e,i=t),void 0===n&&(n=!0);const r={code:i,language:a};V("before:highlight",r);const s=r.result?r.result:m(r.language,r.code,n);return s.code=r.code,V("after:highlight",s),s}function m(e,n,i,a){const c=Object.create(null);function u(e,t){return e.keywords[t]}function d(){if(!j.keywords)return void A.addText(L);let e=0;j.keywordPatternRe.lastIndex=0;let t=j.keywordPatternRe.exec(L),n="";while(t){n+=L.substring(e,t.index);const i=E.case_insensitive?t[0].toLowerCase():t[0],a=u(j,i);if(a){const[e,r]=a;if(A.addText(n),n="",c[i]=(c[i]||0)+1,c[i]<=Ee&&(B+=r),e.startsWith("_"))n+=t[0];else{const n=E.classNameAliases[e]||e;A.addKeyword(t[0],n)}}else n+=t[0];e=j.keywordPatternRe.lastIndex,t=j.keywordPatternRe.exec(L)}n+=L.substr(e),A.addText(n)}function p(){if(""===L)return;let e=null;if("string"===typeof j.subLanguage){if(!t[j.subLanguage])return void A.addText(L);e=m(j.subLanguage,L,!0,T[j.subLanguage]),T[j.subLanguage]=e._top}else e=_(L,j.subLanguage.length?j.subLanguage:null);j.relevance>0&&(B+=e.relevance),A.addSublanguage(e._emitter,e.language)}function h(){null!=j.subLanguage?p():d(),L=""}function f(e,t){let n=1;while(void 0!==t[n]){if(!e._emit[n]){n++;continue}const i=E.classNameAliases[e[n]]||e[n],a=t[n];i?A.addKeyword(a,i):(L=a,d(),L=""),n++}}function g(e,t){return e.scope&&"string"===typeof e.scope&&A.openNode(E.classNameAliases[e.scope]||e.scope),e.beginScope&&(e.beginScope._wrap?(A.addKeyword(L,E.classNameAliases[e.beginScope._wrap]||e.beginScope._wrap),L=""):e.beginScope._multi&&(f(e.beginScope,t),L="")),j=Object.create(e,{parent:{value:j}}),j}function b(e,t,n){let i=x(e.endRe,n);if(i){if(e["on:end"]){const n=new r(e);e["on:end"](t,n),n.isMatchIgnored&&(i=!1)}if(i){while(e.endsParent&&e.parent)e=e.parent;return e}}if(e.endsWithParent)return b(e.parent,t,n)}function v(e){return 0===j.matcher.regexIndex?(L+=e[0],1):(P=!0,0)}function y(e){const t=e[0],n=e.rule,i=new r(n),a=[n.__beforeBegin,n["on:begin"]];for(const r of a)if(r&&(r(e,i),i.isMatchIgnored))return v(t);return n.skip?L+=t:(n.excludeBegin&&(L+=t),h(),n.returnBegin||n.excludeBegin||(L=t)),g(n,e),n.returnBegin?0:t.length}function w(e){const t=e[0],i=n.substr(e.index),a=b(j,e,i);if(!a)return Se;const r=j;j.endScope&&j.endScope._wrap?(h(),A.addKeyword(t,j.endScope._wrap)):j.endScope&&j.endScope._multi?(h(),f(j.endScope,e)):r.skip?L+=t:(r.returnEnd||r.excludeEnd||(L+=t),h(),r.excludeEnd&&(L=t));do{j.scope&&A.closeNode(),j.skip||j.subLanguage||(B+=j.relevance),j=j.parent}while(j!==a.parent);return a.starts&&g(a.starts,e),r.returnEnd?0:t.length}function k(){const e=[];for(let t=j;t!==E;t=t.parent)t.scope&&e.unshift(t.scope);e.forEach(e=>A.openNode(e))}let C={};function S(t,a){const r=a&&a[0];if(L+=t,null==r)return h(),0;if("begin"===C.type&&"end"===a.type&&C.index===a.index&&""===r){if(L+=n.slice(a.index,a.index+1),!s){const t=new Error(`0 width match regex (${e})`);throw t.languageName=e,t.badRule=C.rule,t}return 1}if(C=a,"begin"===a.type)return y(a);if("illegal"===a.type&&!i){const e=new Error('Illegal lexeme "'+r+'" for mode "'+(j.scope||"<unnamed>")+'"');throw e.mode=j,e}if("end"===a.type){const e=w(a);if(e!==Se)return e}if("illegal"===a.type&&""===r)return 1;if(M>1e5&&M>3*a.index){const e=new Error("potential infinite loop, way more iterations than matches");throw e}return L+=r,r.length}const E=$(e);if(!E)throw le(o.replace("{}",e)),new Error('Unknown language: "'+e+'"');const O=ve(E);let I="",j=a||O;const T={},A=new l.__emitter(l);k();let L="",B=0,N=0,M=0,P=!1;try{for(j.matcher.considerAll();;){M++,P?P=!1:j.matcher.considerAll(),j.matcher.lastIndex=N;const e=j.matcher.exec(n);if(!e)break;const t=n.substring(N,e.index),i=S(t,e);N=e.index+i}return S(n.substr(N)),A.closeAllNodes(),A.finalize(),I=A.toHTML(),{language:e,value:I,relevance:B,illegal:!1,_emitter:A,_top:j}}catch(R){if(R.message&&R.message.includes("Illegal"))return{language:e,value:ke(n),illegal:!0,relevance:0,_illegalBy:{message:R.message,index:N,context:n.slice(N-100,N+100),mode:R.mode,resultSoFar:I},_emitter:A};if(s)return{language:e,value:ke(n),illegal:!1,relevance:0,errorRaised:R,_emitter:A,_top:j};throw R}}function y(e){const t={value:ke(e),illegal:!1,relevance:0,_top:c,_emitter:new l.__emitter(l)};return t._emitter.addText(e),t}function _(e,n){n=n||l.languages||Object.keys(t);const i=y(e),a=n.filter($).filter(M).map(t=>m(t,e,!1));a.unshift(i);const r=a.sort((e,t)=>{if(e.relevance!==t.relevance)return t.relevance-e.relevance;if(e.language&&t.language){if($(e.language).supersetOf===t.language)return 1;if($(t.language).supersetOf===e.language)return-1}return 0}),[s,o]=r,c=s;return c.secondBest=o,c}function k(e,t,i){const a=t&&n[t]||i;e.classList.add("hljs"),e.classList.add("language-"+a)}function C(e){let t=null;const n=d(e);if(u(n))return;if(V("before:highlightElement",{el:e,language:n}),e.children.length>0&&(l.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/issues/2886"),console.warn(e)),l.throwUnescapedHTML)){const t=new xe("One of your code blocks includes unescaped HTML.",e.innerHTML);throw t}t=e;const i=t.textContent,a=n?p(i,{language:n,ignoreIllegals:!0}):_(i);e.innerHTML=a.value,k(e,n,a.language),e.result={language:a.language,re:a.relevance,relevance:a.relevance},a.secondBest&&(e.secondBest={language:a.secondBest.language,relevance:a.secondBest.relevance}),V("after:highlightElement",{el:e,result:a,text:i})}function S(e){l=Ce(l,e)}const E=()=>{j(),de("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function O(){j(),de("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let I=!1;function j(){if("loading"===document.readyState)return void(I=!0);const e=document.querySelectorAll(l.cssSelector);e.forEach(C)}function T(){I&&j()}function A(n,i){let a=null;try{a=i(e)}catch(r){if(le("Language definition for '{}' could not be registered.".replace("{}",n)),!s)throw r;le(r),a=c}a.name||(a.name=n),t[n]=a,a.rawDefinition=i.bind(null,e),a.aliases&&N(a.aliases,{languageName:n})}function L(e){delete t[e];for(const t of Object.keys(n))n[t]===e&&delete n[t]}function B(){return Object.keys(t)}function $(e){return e=(e||"").toLowerCase(),t[e]||t[n[e]]}function N(e,{languageName:t}){"string"===typeof e&&(e=[e]),e.forEach(e=>{n[e.toLowerCase()]=t})}function M(e){const t=$(e);return t&&!t.disableAutodetect}function P(e){e["before:highlightBlock"]&&!e["before:highlightElement"]&&(e["before:highlightElement"]=t=>{e["before:highlightBlock"](Object.assign({block:t.el},t))}),e["after:highlightBlock"]&&!e["after:highlightElement"]&&(e["after:highlightElement"]=t=>{e["after:highlightBlock"](Object.assign({block:t.el},t))})}function R(e){P(e),i.push(e)}function V(e,t){const n=e;i.forEach((function(e){e[n]&&e[n](t)}))}function D(e){return de("10.7.0","highlightBlock will be removed entirely in v12.0"),de("10.7.0","Please use highlightElement now."),C(e)}"undefined"!==typeof window&&window.addEventListener&&window.addEventListener("DOMContentLoaded",T,!1),Object.assign(e,{highlight:p,highlightAuto:_,highlightAll:j,highlightElement:C,highlightBlock:D,configure:S,initHighlighting:E,initHighlightingOnLoad:O,registerLanguage:A,unregisterLanguage:L,listLanguages:B,getLanguage:$,registerAliases:N,autoDetection:M,inherit:Ce,addPlugin:R}),e.debugMode=function(){s=!1},e.safeMode=function(){s=!0},e.versionString=_e,e.regex={concat:v,lookahead:f,either:w,optional:b,anyNumberOfTimes:g};for(const r in Z)"object"===typeof Z[r]&&a(Z[r]);return Object.assign(e,Z),e};var Ie=Oe({});e.exports=Ie,Ie.HighlightJS=Ie,Ie.default=Ie},"12b1":function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));const i={list:"list",compactGrid:"compactGrid",detailedGrid:"detailedGrid",hidden:"hidden"}},1417:function(e,t,n){var i={"./markdown":["84cb","highlight-js-custom-markdown"],"./markdown.js":["84cb","highlight-js-custom-markdown"],"./swift":["81c8","highlight-js-custom-swift"],"./swift.js":["81c8","highlight-js-custom-swift"]};function a(e){if(!n.o(i,e))return Promise.resolve().then((function(){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}));var t=i[e],a=t[0];return n.e(t[1]).then((function(){return n(a)}))}a.keys=function(){return Object.keys(i)},a.id="1417",e.exports=a},"146e":function(e,t,n){"use strict";var i=n("e425"),a=n("dd18"),r=n("8a61");function s(e){return new Promise((t,n)=>{e.complete?t():(e.addEventListener("load",t,{once:!0}),e.addEventListener("error",n,{once:!0}))})}function o(){return Promise.allSettled([...document.getElementsByTagName("img")].map(s))}t["a"]={mixins:[r["a"]],mounted(){this.scrollToElementIfAnchorPresent()},updated(){this.scrollToElementIfAnchorPresent()},methods:{async scrollToElementIfAnchorPresent(){const{hash:e}=this.$route;if(!e)return;const{imageLoadingStrategy:t}=i["a"].state;i["a"].setImageLoadingStrategy(a["a"].eager),await this.$nextTick(),await o(),this.scrollToElement(e),i["a"].setImageLoadingStrategy(t)}}}},"159b":function(e,t,n){"use strict";n("2d6f")},"17a4":function(e,t,n){"use strict";n("bbe1")},"19cc":function(e,t,n){},"1f39":function(e,t,n){"use strict";n("007b")},2224:function(e,t,n){"use strict";n("b392")},"25a9":function(e,t,n){"use strict";n.d(t,"c",(function(){return d})),n.d(t,"e",(function(){return p})),n.d(t,"b",(function(){return h})),n.d(t,"a",(function(){return m})),n.d(t,"d",(function(){return f}));var i=n("748c"),a=n("d26a"),r=n("3bdd");class s extends Error{constructor({location:e,response:t}){super("Request redirected"),this.location=e,this.response=t}}class o extends Error{constructor(e){super("Unable to fetch data"),this.route=e}}async function c(e,t={},n={}){function i(e){return("ide"!==Object({NODE_ENV:"production",VUE_APP_TITLE:"Documentation",BASE_URL:"{{BASE_PATH}}/"}).VUE_APP_TARGET||0!==e.status)&&!e.ok}const o=Object(a["c"])(e),c=Object(a["d"])(t);c&&(o.search=c);const l=await fetch(o.href,n);if(i(l))throw l;if(l.redirected)throw new s({location:l.url,response:l});const u=await l.json();return Object(r["c"])(u.schemaVersion),u}function l(e){const t=e.replace(/\/$/,"");return Object(i["c"])(["/data",t])+".json"}function u(e){const{pathname:t,search:n}=new URL(e),i=/\/data(\/.*).json$/,a=i.exec(t);return a?a[1]+n:t+n}async function d(e,t,n){const i=l(e.path);let a;try{a=await c(i,e.query)}catch(r){if("ide"===Object({NODE_ENV:"production",VUE_APP_TITLE:"Documentation",BASE_URL:"{{BASE_PATH}}/"}).VUE_APP_TARGET)throw console.error(r),!1;if(r instanceof s)throw u(r.location);r.status&&404===r.status?n({name:"not-found",params:[e.path]}):n(new o(e))}return a}function p(e,t){return!Object(a["a"])(e,t)}async function h(e,t={}){const n=l(e);return c(n,{},t)}function m(e){return JSON.parse(JSON.stringify(e))}async function f({slug:e}){const t=Object(a["c"])(["/index/",e,"index.json"]);return c(t)}},"2cae":function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return s}));var i=n("31d4"),a=n("66cd");const r={blue:"blue",teal:"teal",orange:"orange",purple:"purple",green:"green",sky:"sky",pink:"pink"},s={[i["b"].article]:r.teal,[i["b"].init]:r.blue,[i["b"].case]:r.orange,[i["b"].class]:r.purple,[i["b"].collection]:r.pink,[a["a"].collectionGroup]:r.teal,[i["b"].dictionarySymbol]:r.purple,[i["b"].enum]:r.orange,[i["b"].extension]:r.orange,[i["b"].func]:r.green,[i["b"].op]:r.green,[i["b"].httpRequest]:r.green,[i["b"].module]:r.sky,[i["b"].method]:r.blue,[i["b"].macro]:r.pink,[i["b"].protocol]:r.purple,[i["b"].property]:r.teal,[i["b"].propertyListKey]:r.green,[i["b"].propertyListKeyReference]:r.green,[i["b"].sampleCode]:r.purple,[i["b"].struct]:r.purple,[i["b"].subscript]:r.blue,[i["b"].typealias]:r.orange,[i["b"].union]:r.purple,[i["b"].var]:r.purple}},"2d6f":function(e,t,n){},"2f34":function(e,t,n){"use strict";t["a"]={inject:{store:{default:()=>({state:{references:{}},setReferences(){},reset(){}})}},computed:{references:({store:e})=>e.state.references}}},3024:function(e,t,n){"use strict";var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{staticClass:"technology-icon",attrs:{viewBox:"0 0 14 14",themeId:"technology"}},[n("path",{attrs:{d:"M3.39,9l3.16,1.84.47.28.47-.28L10.61,9l.45.26,1.08.63L7,12.91l-5.16-3,1.08-.64L3.39,9M7,0,0,4.1,2.47,5.55,0,7,2.47,8.44,0,9.9,7,14l7-4.1L11.53,8.45,14,7,11.53,5.56,14,4.1ZM7,7.12,5.87,6.45l-1.54-.9L3.39,5,1.85,4.1,7,1.08l5.17,3L10.6,5l-.93.55-1.54.91ZM7,10,3.39,7.9,1.85,7,3.4,6.09,4.94,7,7,8.2,9.06,7,10.6,6.1,12.15,7l-1.55.9Z"}})])},a=[],r=n("be08"),s={name:"TechnologyIcon",components:{SVGIcon:r["a"]}},o=s,c=n("2877"),l=Object(c["a"])(o,i,a,!1,null,null,null);t["a"]=l.exports},"308e":function(e,t,n){"use strict";var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"column",style:e.style},[e._t("default")],2)},a=[],r={name:"Column",props:{span:{type:Number,default:null}},computed:{style:({span:e})=>({"--col-span":e})}},s=r,o=(n("fe08"),n("2877")),c=Object(o["a"])(s,i,a,!1,null,"0f654188",null);t["a"]=c.exports},"31d4":function(e,t,n){"use strict";n.d(t,"b",(function(){return i})),n.d(t,"a",(function(){return a}));const i={article:"article",associatedtype:"associatedtype",buildSetting:"buildSetting",case:"case",collection:"collection",class:"class",container:"container",dictionarySymbol:"dictionarySymbol",enum:"enum",extension:"extension",func:"func",groupMarker:"groupMarker",httpRequest:"httpRequest",init:"init",languageGroup:"languageGroup",learn:"learn",macro:"macro",method:"method",module:"module",op:"op",overview:"overview",project:"project",property:"property",propertyListKey:"propertyListKey",propertyListKeyReference:"propertyListKeyReference",protocol:"protocol",resources:"resources",root:"root",sampleCode:"sampleCode",section:"section",struct:"struct",subscript:"subscript",symbol:"symbol",tutorial:"tutorial",typealias:"typealias",union:"union",var:"var"},a={[i.init]:i.method,[i.case]:i.enum,[i.propertyListKeyReference]:i.propertyListKey,[i.project]:i.tutorial}},"3b75":function(e,t,n){},"3b96":function(e,t,n){"use strict";var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{staticClass:"curly-brackets-icon",attrs:{viewBox:"0 0 14 14",themeId:"curly-brackets"}},[n("path",{attrs:{d:"M9.987 14h-0.814v-0.916h0.36c0.137 0 0.253-0.038 0.349-0.116 0.099-0.080 0.179-0.188 0.239-0.318 0.064-0.134 0.11-0.298 0.139-0.483 0.031-0.186 0.045-0.38 0.045-0.58v-2.115c0-0.417 0.046-0.781 0.139-1.083 0.092-0.3 0.2-0.554 0.322-0.754 0.127-0.203 0.246-0.353 0.366-0.458 0.087-0.076 0.155-0.131 0.207-0.169-0.052-0.037-0.12-0.093-0.207-0.167-0.12-0.105-0.239-0.255-0.366-0.459-0.122-0.2-0.23-0.453-0.322-0.754-0.093-0.3-0.139-0.665-0.139-1.082v-2.13c0-0.199-0.014-0.392-0.045-0.572-0.029-0.182-0.076-0.345-0.139-0.483-0.060-0.137-0.141-0.246-0.239-0.328-0.095-0.076-0.212-0.115-0.349-0.115h-0.36v-0.916h0.814c0.442 0 0.788 0.18 1.030 0.538 0.238 0.352 0.358 0.826 0.358 1.407v2.236c0 0.3 0.015 0.597 0.044 0.886 0.030 0.287 0.086 0.544 0.164 0.765 0.077 0.216 0.184 0.392 0.318 0.522 0.129 0.124 0.298 0.188 0.503 0.188h0.058v0.916h-0.058c-0.206 0-0.374 0.064-0.503 0.188-0.134 0.129-0.242 0.305-0.318 0.521-0.078 0.223-0.134 0.48-0.164 0.766-0.029 0.288-0.044 0.587-0.044 0.884v2.236c0 0.582-0.12 1.055-0.358 1.409-0.242 0.358-0.588 0.538-1.030 0.538z"}}),n("path",{attrs:{d:"M4.827 14h-0.814c-0.442 0-0.788-0.18-1.030-0.538-0.238-0.352-0.358-0.825-0.358-1.409v-2.221c0-0.301-0.015-0.599-0.045-0.886-0.029-0.287-0.085-0.544-0.163-0.764-0.077-0.216-0.184-0.393-0.318-0.522-0.131-0.127-0.296-0.188-0.503-0.188h-0.058v-0.916h0.058c0.208 0 0.373-0.063 0.503-0.188 0.135-0.129 0.242-0.304 0.318-0.522 0.078-0.22 0.134-0.477 0.163-0.765 0.030-0.286 0.045-0.585 0.045-0.886v-2.251c0-0.582 0.12-1.055 0.358-1.407 0.242-0.358 0.588-0.538 1.030-0.538h0.814v0.916h-0.36c-0.138 0-0.252 0.038-0.349 0.116-0.099 0.079-0.179 0.189-0.239 0.327-0.064 0.139-0.11 0.302-0.141 0.483-0.029 0.18-0.044 0.373-0.044 0.572v2.13c0 0.417-0.046 0.782-0.138 1.082-0.092 0.302-0.201 0.556-0.324 0.754-0.123 0.201-0.246 0.356-0.366 0.459-0.086 0.074-0.153 0.13-0.206 0.167 0.052 0.038 0.12 0.093 0.206 0.169 0.12 0.103 0.243 0.258 0.366 0.458s0.232 0.453 0.324 0.754c0.092 0.302 0.138 0.666 0.138 1.083v2.115c0 0.2 0.015 0.394 0.044 0.58 0.030 0.186 0.077 0.349 0.139 0.482 0.062 0.132 0.142 0.239 0.241 0.32 0.096 0.079 0.21 0.116 0.349 0.116h0.36z"}})])},a=[],r=n("be08"),s={name:"CurlyBracketsIcon",components:{SVGIcon:r["a"]}},o=s,c=n("2877"),l=Object(c["a"])(o,i,a,!1,null,null,null);t["a"]=l.exports},"3ba9":function(e,t,n){},"3bdd":function(e,t,n){"use strict";n.d(t,"a",(function(){return a})),n.d(t,"b",(function(){return s})),n.d(t,"c",(function(){return d}));const i={major:0,minor:3,patch:0};function a({major:e,minor:t,patch:n}){return[e,t,n].join(".")}function r(e){const[t=0,n=0,i=0]=e.split(".");return[Number(t),Number(n),Number(i)]}function s(e,t){const n=r(e),i=r(t);for(let a=0;a<n.length;a+=1){if(n[a]>i[a])return 1;if(n[a]<i[a])return-1}return 0}const o=a(i);function c(e){return`[Swift-DocC-Render] The render node version for this page has a higher minor version (${e}) than Swift-DocC-Render supports (${o}). Compatibility is not guaranteed.`}const l=e=>`[Swift-DocC-Render] The render node version for this page (${e}) has a different major version component than Swift-DocC-Render supports (${o}). Compatibility is not guaranteed.`;function u(e){const{major:t,minor:n}=e,{major:r,minor:s}=i;return t!==r?l(a(e)):n>s?c(a(e)):""}function d(e){if(!e)return;const t=u(e);t&&console.warn(t)}},"43fe":function(e,t,n){"use strict";n("4573")},4573:function(e,t,n){},"47cc":function(e,t,n){},"49e3":function(e,t,n){},"517a":function(e,t,n){"use strict";n("8222")},5201:function(e,t,n){"use strict";n("0cf0")},"52e4":function(e,t,n){"use strict";var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("WordBreak",{attrs:{tag:"code"}},[e._t("default")],2)},a=[],r=n("7b1f"),s={name:"CodeVoice",components:{WordBreak:r["a"]}},o=s,c=(n("8c92"),n("2877")),l=Object(c["a"])(o,i,a,!1,null,"05f4a5b7",null);t["a"]=l.exports},5416:function(e,t,n){"use strict";var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"device-frame",class:e.classes,style:e.styles,attrs:{"data-device":e.device}},[n("div",{staticClass:"device-screen",class:{"with-device":e.currentDeviceAttrs}},[e._t("default")],2),n("div",{staticClass:"device"})])},a=[],r={},s=n("6842");const o=e=>e&&e!==1/0,c=(e,t=4)=>o(e)?+`${Math.round(`${e}e+${t}`)}e-${t}`:null;var l={name:"DeviceFrame",props:{device:{type:String,required:!0}},provide:{insideDeviceFrame:!0},computed:{currentDeviceAttrs:({device:e})=>Object(s["c"])(["theme","device-frames",e],r[e]),styles:({toPixel:e,toUrl:t,toPct:n,currentDeviceAttrs:i={}})=>{const{screenTop:a,screenLeft:r,screenWidth:s,frameWidth:o,lightUrl:l,darkUrl:u,screenHeight:d,frameHeight:p}=i;return{"--screen-top":n(a/p),"--screen-left":n(r/o),"--screen-width":n(s/o),"--screen-height":n(d/p),"--screen-aspect":c(s/d)||null,"--frame-width":e(o),"--frame-aspect":c(o/p)||null,"--device-light-url":t(l),"--device-dark-url":t(u)}},classes:({currentDeviceAttrs:e})=>({"no-device":!e})},methods:{toPixel:e=>o(e)?e+"px":null,toUrl:e=>o(e)?`url(${e})`:null,toPct:e=>o(e)?c(100*e)+"%":null}},u=l,d=(n("b2da"),n("2877")),p=Object(d["a"])(u,i,a,!1,null,"28ae8fd3",null);t["a"]=p.exports},5677:function(e,t,n){"use strict";n.r(t),n.d(t,"BlockType",(function(){return Ct}));var i=n("2f34"),a=n("e3ab"),r=n("7b69"),s=n("5dcc"),o=n("52e4"),c=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"DictionaryExample"},[e._t("default"),n("CollapsibleCodeListing",{attrs:{content:e.example.content,showLineNumbers:""}})],2)},l=[],u=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"collapsible-code-listing",class:{"single-line":1===e.content[0].code.length}},[n("pre",[n("CodeBlock",e._l(this.content,(function(t,i){return n("div",{key:i,class:["container-general",{collapsible:!0===t.collapsible},{collapsed:!0===t.collapsible&&e.collapsed}]},e._l(t.code,(function(t,i){return n("div",{key:i,staticClass:"code-line-container"},[e._v("\n "),n("div",{directives:[{name:"show",rawName:"v-show",value:e.showLineNumbers,expression:"showLineNumbers"}],staticClass:"code-number"}),e._v("\n "),n("div",{staticClass:"code-line"},[e._v(e._s(t))]),e._v("\n ")])})),0)})),0)],1)])},d=[],p=n("800b"),h={name:"CollapsibleCodeListing",components:{CodeBlock:p["a"]},props:{collapsed:{type:Boolean,required:!1},content:{type:Array,required:!0},showLineNumbers:{type:Boolean,default:()=>!0}}},m=h,f=(n("efc1"),n("2877")),g=Object(f["a"])(m,u,d,!1,null,"25a17a0e",null),b=g.exports,v={name:"DictionaryExample",components:{CollapsibleCodeListing:b},props:{example:{type:Object,required:!0}}},y=v,w=Object(f["a"])(y,c,l,!1,null,null,null),_=w.exports,x=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("Row",{staticClass:"endpoint-example"},[n("Column",{staticClass:"example-code"},[e._t("default"),n("Tabnav",{model:{value:e.currentTab,callback:function(t){e.currentTab=t},expression:"currentTab"}},[n("TabnavItem",{attrs:{value:e.Tab.request}},[e._v(e._s(e.$t("tab.request")))]),n("TabnavItem",{attrs:{value:e.Tab.response}},[e._v(e._s(e.$t("tab.response")))])],1),n("div",{staticClass:"output"},[e.isCurrent(e.Tab.request)?n("div",{staticClass:"code"},[n("CollapsibleCodeListing",e._b({attrs:{collapsed:e.isCollapsed,showLineNumbers:""}},"CollapsibleCodeListing",e.request,!1))],1):e._e(),e.isCurrent(e.Tab.response)?n("div",{staticClass:"code"},[n("CollapsibleCodeListing",e._b({attrs:{collapsed:e.isCollapsed,showLineNumbers:""}},"CollapsibleCodeListing",e.response,!1))],1):e._e()]),e.isCollapsible?n("div",{staticClass:"controls"},[e.isCollapsed?n("a",{staticClass:"toggle",attrs:{href:"#"},on:{click:function(t){return t.preventDefault(),e.showMore.apply(null,arguments)}}},[n("InlinePlusCircleSolidIcon",{staticClass:"control-icon icon-inline"}),e._v(" "+e._s(e.$t("more"))+" ")],1):n("a",{staticClass:"toggle",attrs:{href:"#"},on:{click:function(t){return t.preventDefault(),e.showLess.apply(null,arguments)}}},[n("InlineMinusCircleSolidIcon",{staticClass:"control-icon icon-inline"}),e._v(" "+e._s(e.$t("less"))+" ")],1)]):e._e()],2)],1)},k=[],C=n("0f00"),S=n("620a"),E=function(){var e,t=this,n=t.$createElement,i=t._self._c||n;return i("nav",{staticClass:"tabnav",class:(e={},e["tabnav--"+t.position]=t.position,e["tabnav--vertical"]=t.vertical,e)},[i("ul",{staticClass:"tabnav-items"},[t._t("default")],2)])},O=[];const I="tabnavData";var j={name:"Tabnav",constants:{ProvideKey:I},provide(){const e={selectTab:this.selectTab};return Object.defineProperty(e,"activeTab",{enumerable:!0,get:()=>this.value}),{[I]:e}},props:{position:{type:String,required:!1,validator:e=>new Set(["start","center","end"]).has(e)},vertical:{type:Boolean,default:!1},value:{type:[String,Number],required:!0}},methods:{selectTab(e){this.$emit("input",e)}}},T=j,A=(n("fb8e"),Object(f["a"])(T,E,O,!1,null,"5283512a",null)),L=A.exports,B=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("li",{staticClass:"tabnav-item"},[n("a",{staticClass:"tabnav-link",class:{active:e.isActive},attrs:{href:"#","aria-current":e.isActive?"true":"false"},on:{click:function(t){return t.preventDefault(),e.tabnavData.selectTab(e.value)}}},[e._t("default")],2)])},$=[],N={name:"TabnavItem",inject:{tabnavData:{default:{activeTab:null,selectTab:()=>{}}}},props:{value:{type:[String,Number],default:null}},computed:{isActive({tabnavData:e,value:t}){return e.activeTab===t}}},M=N,P=(n("6869"),Object(f["a"])(M,B,$,!1,null,"6aa9882a",null)),R=P.exports,V=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{staticClass:"inline-plus-circle-solid-icon",attrs:{viewBox:"0 0 14 14",themeId:"inline-plus-circle-solid"}},[n("path",{attrs:{d:"M7.005 0.5h-0.008c-1.791 0.004-3.412 0.729-4.589 1.9l0-0c-1.179 1.177-1.908 2.803-1.908 4.6 0 3.59 2.91 6.5 6.5 6.5s6.5-2.91 6.5-6.5c0-3.587-2.906-6.496-6.492-6.5h-0zM4.005 7.52v-1h2.5v-2.51h1v2.51h2.5v1h-2.501v2.49h-1v-2.49z"}})])},D=[],G=n("be08"),z={name:"InlinePlusCircleSolidIcon",components:{SVGIcon:G["a"]}},q=z,F=Object(f["a"])(q,V,D,!1,null,null,null),U=F.exports,W=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{staticClass:"inline-minus-circle-solid-icon",attrs:{viewBox:"0 0 14 14",themeId:"inline-minus-circle-solid"}},[n("path",{attrs:{d:"m6.98999129.48999129c3.58985091 0 6.50000001 2.91014913 6.50000001 6.5 0 3.58985091-2.9101491 6.50000001-6.50000001 6.50000001-3.58985087 0-6.5-2.9101491-6.5-6.50000001 0-3.58985087 2.91014913-6.5 6.5-6.5zm3 6.02001742h-6v1h6z","fill-rule":"evenodd"}})])},H=[],K={name:"InlineMinusCircleSolidIcon",components:{SVGIcon:G["a"]}},Z=K,Y=Object(f["a"])(Z,W,H,!1,null,null,null),X=Y.exports;const J={request:"Request",response:"Response"};var Q={name:"EndpointExample",components:{InlineMinusCircleSolidIcon:X,InlinePlusCircleSolidIcon:U,TabnavItem:R,Tabnav:L,CollapsibleCodeListing:b,Row:C["a"],Column:S["a"]},constants:{Tab:J},props:{request:{type:Object,required:!0},response:{type:Object,required:!0}},data(){return{isCollapsed:!0,currentTab:J.request}},computed:{Tab:()=>J,isCollapsible:({response:e,request:t,currentTab:n})=>{const i={[J.request]:t.content,[J.response]:e.content}[n]||[];return i.some(({collapsible:e})=>e)}},methods:{isCurrent(e){return this.currentTab===e},showMore(){this.isCollapsed=!1},showLess(){this.isCollapsed=!0}}},ee=Q,te=(n("b0e7"),Object(f["a"])(ee,x,k,!1,null,"c84e62a6",null)),ne=te.exports,ie=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("figure",{attrs:{id:e.anchor}},[e._t("default")],2)},ae=[],re={name:"Figure",props:{anchor:{type:String,required:!1}}},se=re,oe=Object(f["a"])(se,ie,ae,!1,null,null,null),ce=oe.exports,le=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n(e.tag,{tag:"component",staticClass:"caption",class:{trailing:e.trailing}},[e.title?[n("strong",[e._v(e._s(e.title))]),e._v(" "),e._t("default")]:[e._t("default")]],2)},ue=[];const de={caption:"caption",figcaption:"figcaption"},pe={leading:"leading",trailing:"trailing"};var he={name:"Caption",constants:{CaptionPosition:pe,CaptionTag:de},props:{title:{type:String,required:!1},tag:{type:String,required:!0,validator:e=>Object.hasOwnProperty.call(de,e)},position:{type:String,default:()=>pe.leading,validator:e=>Object.hasOwnProperty.call(pe,e)}},computed:{trailing:({position:e})=>e===pe.trailing}},me=he,fe=(n("6209"),Object(f["a"])(me,le,ue,!1,null,"1b76f4e0",null)),ge=fe.exports,be=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("ImageAsset",{attrs:{alt:e.alt,variants:e.variants}})},ve=[],ye=n("8bd9"),we={name:"InlineImage",components:{ImageAsset:ye["a"]},props:{alt:{type:String,default:""},variants:{type:Array,required:!0}}},_e=we,xe=(n("cb92"),Object(f["a"])(_e,be,ve,!1,null,"3a939631",null)),ke=xe.exports,Ce=n("86d8"),Se=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"table-wrapper"},[n("table",{class:{spanned:e.spanned}},[e._t("default")],2)])},Ee=[],Oe={name:"Table",props:{spanned:{type:Boolean,default:!1}}},Ie=Oe,je=(n("ec71"),Object(f["a"])(Ie,Se,Ee,!1,null,"5ed73c89",null)),Te=je.exports,Ae=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("s",{attrs:{"data-before-text":e.$t("accessibility.strike.start"),"data-after-text":e.$t("accessibility.strike.end")}},[e._t("default")],2)},Le=[],Be={name:"StrikeThrough"},$e=Be,Ne=(n("d0da"),Object(f["a"])($e,Ae,Le,!1,null,"7fc51673",null)),Me=Ne.exports,Pe=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("small",[e._t("default")],2)},Re=[],Ve={name:"Small"},De=Ve,Ge=(n("b0f5"),Object(f["a"])(De,Pe,Re,!1,null,"77035f61",null)),ze=Ge.exports,qe=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("Asset",{attrs:{identifier:e.identifier,"video-autoplays":!1,"video-muted":!1,showsReplayButton:!e.isClientMobile,showsVideoControls:e.isClientMobile,deviceFrame:e.deviceFrame}})},Fe=[],Ue=n("80e4"),We=n("7689"),He={name:"BlockVideo",mixins:[We["a"]],components:{Asset:Ue["a"]},props:{identifier:{type:String,required:!0},deviceFrame:{type:String,required:!1}}},Ke=He,Ze=(n("fe1c"),Object(f["a"])(Ke,qe,Fe,!1,null,"035a093f",null)),Ye=Ze.exports,Xe=n("308e"),Je=n("ee9e"),Qe=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"TabNavigator",class:[{"tabs--vertical":e.vertical}]},[n("Tabnav",e._b({model:{value:e.currentTitle,callback:function(t){e.currentTitle=t},expression:"currentTitle"}},"Tabnav",{position:e.position,vertical:e.vertical},!1),e._l(e.titles,(function(t){return n("TabnavItem",{key:t,attrs:{value:t}},[e._v(" "+e._s(t)+" ")])})),1),n("div",{staticClass:"tabs-content"},[n("div",{staticClass:"tabs-content-container"},[n("transition-group",{attrs:{name:"fade"}},[e._l(e.titles,(function(t){return[n("div",{directives:[{name:"show",rawName:"v-show",value:t===e.currentTitle,expression:"title === currentTitle"}],key:t,staticClass:"tab-container",class:{active:t===e.currentTitle}},[e._t(t)],2)]}))],2)],1)])],1)},et=[],tt={name:"TabNavigator",components:{TabnavItem:R,Tabnav:L},props:{vertical:{type:Boolean,default:!1},position:{type:String,default:"start",validator:e=>new Set(["start","center","end"]).has(e)},titles:{type:Array,required:!0,default:()=>[]}},data(){return{currentTitle:this.titles[0]}},watch:{titles(e,t){if(e.length<t.length){if(!e.includes(this.currentTitle)){const[t]=e;this.currentTitle=t}}else{const n=e.find(e=>!t.includes(e));this.currentTitle=n||this.currentTitle}}}},nt=tt,it=(n("9ed5"),Object(f["a"])(nt,Qe,et,!1,null,"e671a734",null)),at=it.exports,rt=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("ul",{staticClass:"tasklist"},e._l(e.tasks,(function(t,i){return n("li",{key:i},[e.showCheckbox(t)?n("input",{attrs:{type:"checkbox",disabled:""},domProps:{checked:t.checked}}):e._e(),e._t("task",null,{task:t})],2)})),0)},st=[];const ot="checked",ct=e=>Object.hasOwnProperty.call(e,ot);var lt={name:"TaskList",props:{tasks:{required:!0,type:Array,validator:e=>e.some(ct)}},methods:{showCheckbox:ct}},ut=lt,dt=(n("c3da"),Object(f["a"])(ut,rt,st,!1,null,"6a56a858",null)),pt=dt.exports,ht=function(){var e=this,t=e.$createElement,n=e._self._c||t;return e.isListStyle?n("div",{staticClass:"links-block"},e._l(e.items,(function(e){return n("TopicsLinkBlock",{key:e.identifier,staticClass:"topic-link-block",attrs:{topic:e}})})),1):n("TopicsLinkCardGrid",{staticClass:"links-block",attrs:{items:e.items,"topic-style":e.blockStyle}})},mt=[],ft=n("70fb"),gt=n("12b1"),bt={name:"LinksBlock",mixins:[i["a"]],components:{TopicsLinkBlock:()=>n.e("chunk-c0335d80").then(n.bind(null,"2a18")),TopicsLinkCardGrid:ft["a"]},props:{identifiers:{type:Array,required:!0},blockStyle:{type:String,default:gt["a"].compactGrid}},computed:{isListStyle:({blockStyle:e})=>e===gt["a"].list,items:({identifiers:e,references:t})=>e.reduce((e,n)=>t[n]?e.concat(t[n]):e,[])}},vt=bt,yt=(n("6e71"),Object(f["a"])(vt,ht,mt,!1,null,"ce6f87f6",null)),wt=yt.exports,_t=n("5416");const{CaptionPosition:xt,CaptionTag:kt}=ge.constants,Ct={aside:"aside",codeListing:"codeListing",endpointExample:"endpointExample",heading:"heading",orderedList:"orderedList",paragraph:"paragraph",table:"table",termList:"termList",unorderedList:"unorderedList",dictionaryExample:"dictionaryExample",small:"small",video:"video",row:"row",tabNavigator:"tabNavigator",links:"links"},St={codeVoice:"codeVoice",emphasis:"emphasis",image:"image",inlineHead:"inlineHead",link:"link",newTerm:"newTerm",reference:"reference",strong:"strong",text:"text",superscript:"superscript",subscript:"subscript",strikethrough:"strikethrough"},Et={both:"both",column:"column",none:"none",row:"row"},Ot={left:"left",right:"right",center:"center",unset:"unset"},It=7;function jt(e,t){const n=n=>n.map(jt(e,t)),i=t=>t.map(t=>e("li",{},n(t.content))),c=(t,i,a,r,s,o,c)=>{const{colspan:l,rowspan:u}=o[`${s}_${r}`]||{};if(0===l||0===u)return null;const d=c[r]||Ot.unset;let p=null;return d!==Ot.unset&&(p=d+"-cell"),e(t,{attrs:{...i,colspan:l,rowspan:u},class:p},n(a))},l=(t,n=Et.none,i={},a=[])=>{switch(n){case Et.both:{const[n,...r]=t;return[e("thead",{},[e("tr",{},n.map((e,t)=>c("th",{scope:"col"},e,t,0,i,a)))]),e("tbody",{},r.map(([t,...n],r)=>e("tr",{},[c("th",{scope:"row"},t,0,r+1,i,a),...n.map((e,t)=>c("td",{},e,t+1,r+1,i,a))])))]}case Et.column:return[e("tbody",{},t.map(([t,...n],r)=>e("tr",{},[c("th",{scope:"row"},t,0,r,i,a),...n.map((e,t)=>c("td",{},e,t+1,r,i,a))])))];case Et.row:{const[n,...r]=t;return[e("thead",{},[e("tr",{},n.map((e,t)=>c("th",{scope:"col"},e,t,0,i,a)))]),e("tbody",{},r.map((t,n)=>e("tr",{},t.map((e,t)=>c("td",{},e,t,n+1,i,a)))))]}default:return[e("tbody",{},t.map((t,n)=>e("tr",{},t.map((e,t)=>c("td",{},e,t,n,i,a)))))]}},u=({metadata:{abstract:t=[],anchor:i,title:a,...r},...s})=>{const o={...s,metadata:r},c=[n([o])];if(a&&t.length||t.length){const i=a?xt.leading:xt.trailing,r=i===xt.trailing?1:0,s=kt.figcaption;c.splice(r,0,e(ge,{props:{title:a,position:i,tag:s}},n(t)))}return e(ce,{props:{anchor:i}},c)},d=({metadata:{deviceFrame:t},...i})=>e(_t["a"],{props:{device:t}},n([i]));return function(c){switch(c.type){case Ct.aside:{const t={kind:c.style,name:c.name};return e(a["a"],{props:t},n(c.content))}case Ct.codeListing:{if(c.metadata&&c.metadata.anchor)return u(c);const t={syntax:c.syntax,fileType:c.fileType,content:c.code,showLineNumbers:c.showLineNumbers};return e(r["a"],{props:t})}case Ct.endpointExample:{const t={request:c.request,response:c.response};return e(ne,{props:t},n(c.summary||[]))}case Ct.heading:{const t={anchor:c.anchor,level:c.level};return e(s["a"],{props:t},c.text)}case Ct.orderedList:return e("ol",{attrs:{start:c.start}},i(c.items));case Ct.paragraph:{const t=1===c.inlineContent.length&&c.inlineContent[0].type===St.image,i=t?{class:["inline-image-container"]}:{};return e("p",i,n(c.inlineContent))}case Ct.table:{const t=l(c.rows,c.header,c.extendedData,c.alignments);if(c.metadata&&c.metadata.abstract){const{title:i}=c.metadata,a=i?xt.leading:xt.trailing,r=kt.caption;t.unshift(e(ge,{props:{title:i,position:a,tag:r}},n(c.metadata.abstract)))}return e(Te,{attrs:{id:c.metadata&&c.metadata.anchor},props:{spanned:!!c.extendedData}},t)}case Ct.termList:return e("dl",{},c.items.map(({term:t,definition:i})=>[e("dt",{},n(t.inlineContent)),e("dd",{},n(i.content))]));case Ct.unorderedList:{const t=e=>pt.props.tasks.validator(e.items);return t(c)?e(pt,{props:{tasks:c.items},scopedSlots:{task:e=>n(e.task.content)}}):e("ul",{},i(c.items))}case Ct.dictionaryExample:{const t={example:c.example};return e(_,{props:t},n(c.summary||[]))}case Ct.small:return e("p",{},[e(ze,{},n(c.inlineContent))]);case Ct.video:{if(c.metadata&&c.metadata.abstract)return u(c);if(!t[c.identifier])return null;const{deviceFrame:n}=c.metadata||{};return e(Ye,{props:{identifier:c.identifier,deviceFrame:n}})}case Ct.row:{const t=c.numberOfColumns?{large:c.numberOfColumns}:void 0;return e(Je["a"],{props:{columns:t}},c.columns.map(t=>e(Xe["a"],{props:{span:t.size}},n(t.content))))}case Ct.tabNavigator:{const t=c.tabs.length>It,i=c.tabs.map(e=>e.title),a=c.tabs.reduce((e,t)=>({...e,[t.title]:()=>n(t.content)}),{});return e(at,{props:{titles:i,vertical:t},scopedSlots:a})}case Ct.links:return e(wt,{props:{blockStyle:c.style,identifiers:c.items}});case St.codeVoice:return e(o["a"],{},c.code);case St.emphasis:case St.newTerm:return e("em",n(c.inlineContent));case St.image:{if(c.metadata&&(c.metadata.anchor||c.metadata.abstract))return u(c);const n=t[c.identifier];return n?c.metadata&&c.metadata.deviceFrame?d(c):e(ke,{props:{alt:n.alt,variants:n.variants}}):null}case St.link:return e("a",{attrs:{href:c.destination}},c.title);case St.reference:{const i=t[c.identifier];if(!i)return null;const a=c.overridingTitleInlineContent||i.titleInlineContent,r=c.overridingTitle||i.title;return e(Ce["a"],{props:{url:i.url,kind:i.kind,role:i.role,isActive:c.isActive,ideTitle:i.ideTitle,titleStyle:i.titleStyle,hasInlineFormatting:!!a}},a?n(a):r)}case St.strong:case St.inlineHead:return e("strong",n(c.inlineContent));case St.text:return"\n"===c.text?e("br"):c.text;case St.superscript:return e("sup",n(c.inlineContent));case St.subscript:return e("sub",n(c.inlineContent));case St.strikethrough:return e(Me,n(c.inlineContent));default:return null}}}var Tt,At,Lt={name:"ContentNode",constants:{TableHeaderStyle:Et,TableColumnAlignments:Ot},mixins:[i["a"]],render:function(e){return e(this.tag,{class:"content"},this.content.map(jt(e,this.references),this))},props:{content:{type:Array,required:!0},tag:{type:String,default:()=>"div"}},methods:{map(e){function t(n=[]){return n.map(n=>{switch(n.type){case Ct.aside:return e({...n,content:t(n.content)});case Ct.dictionaryExample:return e({...n,summary:t(n.summary)});case Ct.paragraph:case St.emphasis:case St.strong:case St.inlineHead:case St.superscript:case St.subscript:case St.strikethrough:case St.newTerm:return e({...n,inlineContent:t(n.inlineContent)});case Ct.orderedList:case Ct.unorderedList:return e({...n,items:n.items.map(e=>({...e,content:t(e.content)}))});case Ct.table:return e({...n,rows:n.rows.map(e=>e.map(t))});case Ct.termList:return e({...n,items:n.items.map(e=>({...e,term:{inlineContent:t(e.term.inlineContent)},definition:{content:t(e.definition.content)}}))});default:return e(n)}})}return t(this.content)},forEach(e){function t(n=[]){n.forEach(n=>{switch(e(n),n.type){case Ct.aside:t(n.content);break;case Ct.paragraph:case St.emphasis:case St.strong:case St.inlineHead:case St.newTerm:case St.superscript:case St.subscript:case St.strikethrough:t(n.inlineContent);break;case Ct.orderedList:case Ct.unorderedList:n.items.forEach(e=>t(e.content));break;case Ct.dictionaryExample:t(n.summary);break;case Ct.table:n.rows.forEach(e=>{e.forEach(t)});break;case Ct.termList:n.items.forEach(e=>{t(e.term.inlineContent),t(e.definition.content)});break}})}return t(this.content)},reduce(e,t){let n=t;return this.forEach(t=>{n=e(n,t)}),n}},computed:{plaintext(){return this.reduce((e,t)=>t.type===Ct.paragraph?e+"\n":t.type===St.text?`${e}${t.text}`:e,"").trim()}},BlockType:Ct,InlineType:St},Bt=Lt,$t=Object(f["a"])(Bt,Tt,At,!1,null,null,null);t["default"]=$t.exports},"598a":function(e,t,n){},"5c97":function(e,t,n){},"5da3":function(e,t,n){e.exports=n.p+"img/no-image@2x.df2a0a50.png"},"5dcc":function(e,t,n){"use strict";var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("h"+e.level,{tag:"component",attrs:{id:e.anchor}},[e.shouldLink?n("router-link",{staticClass:"header-anchor",attrs:{to:{hash:"#"+e.anchor}},on:{click:function(t){return e.handleFocusAndScroll(e.anchor)}}},[e._t("default"),n("span",{staticClass:"visuallyhidden"},[e._v(e._s(e.$t("accessibility.in-page-link")))]),n("LinkIcon",{staticClass:"icon",attrs:{"aria-hidden":"true"}})],2):[e._t("default")]],2)},a=[],r=n("8a61"),s=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{staticClass:"link-icon",attrs:{viewBox:"0 0 20 20"}},[n("path",{attrs:{d:"M19.34,4.88L15.12,.66c-.87-.87-2.3-.87-3.17,0l-3.55,3.56-1.38,1.38-1.4,1.4c-.47,.47-.68,1.09-.64,1.7,.02,.29,.09,.58,.21,.84,.11,.23,.24,.44,.43,.63l4.22,4.22h0l.53-.53,.53-.53h0l-4.22-4.22c-.29-.29-.29-.77,0-1.06l1.4-1.4,.91-.91,.58-.58,.55-.55,2.9-2.9c.29-.29,.77-.29,1.06,0l4.22,4.22c.29,.29,.29,.77,0,1.06l-2.9,2.9c.14,.24,.24,.49,.31,.75,.08,.32,.11,.64,.09,.96l3.55-3.55c.87-.87,.87-2.3,0-3.17Z"}}),n("path",{attrs:{d:"M14.41,9.82s0,0,0,0l-4.22-4.22h0l-.53,.53-.53,.53h0l4.22,4.22c.29,.29,.29,.77,0,1.06l-1.4,1.4-.91,.91-.58,.58-.55,.55h0l-2.9,2.9c-.29,.29-.77,.29-1.06,0L1.73,14.04c-.29-.29-.29-.77,0-1.06l2.9-2.9c-.14-.24-.24-.49-.31-.75-.08-.32-.11-.64-.09-.97L.68,11.93c-.87,.87-.87,2.3,0,3.17l4.22,4.22c.87,.87,2.3,.87,3.17,0l3.55-3.55,1.38-1.38,1.4-1.4c.47-.47,.68-1.09,.64-1.7-.02-.29-.09-.58-.21-.84-.11-.22-.24-.44-.43-.62Z"}})])},o=[],c=n("be08"),l={name:"LinkIcon",components:{SVGIcon:c["a"]}},u=l,d=n("2877"),p=Object(d["a"])(u,s,o,!1,null,null,null),h=p.exports,m={name:"LinkableHeading",mixins:[r["a"]],components:{LinkIcon:h},props:{anchor:{type:String,required:!1},level:{type:Number,default:()=>2,validator:e=>e>=1&&e<=6}},inject:{enableMinimized:{default:()=>!1},isTargetIDE:{default:()=>!1}},computed:{shouldLink:({anchor:e,enableMinimized:t,isTargetIDE:n})=>!!e&&!t&&!n}},f=m,g=(n("bbf6"),Object(d["a"])(f,i,a,!1,null,"6007a8a4",null));t["a"]=g.exports},6058:function(e,t,n){},6209:function(e,t,n){"use strict";n("0eaa")},"620a":function(e,t,n){"use strict";var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"col",class:e.classes},[e._t("default")],2)},a=[];const r=0,s=12,o=new Set(["large","medium","small"]),c=e=>({type:Object,default:()=>({}),validator:t=>Object.keys(t).every(n=>o.has(n)&&e(t[n]))}),l=c(e=>"boolean"===typeof e),u=c(e=>"number"===typeof e&&e>=r&&e<=s);var d={name:"GridColumn",props:{isCentered:l,isUnCentered:l,span:{...u,default:()=>({large:s})}},computed:{classes:function(){return{["large-"+this.span.large]:void 0!==this.span.large,["medium-"+this.span.medium]:void 0!==this.span.medium,["small-"+this.span.small]:void 0!==this.span.small,"large-centered":!!this.isCentered.large,"medium-centered":!!this.isCentered.medium,"small-centered":!!this.isCentered.small,"large-uncentered":!!this.isUnCentered.large,"medium-uncentered":!!this.isUnCentered.medium,"small-uncentered":!!this.isUnCentered.small}}}},p=d,h=(n("6e4a"),n("2877")),m=Object(h["a"])(p,i,a,!1,null,"2ee3ad8b",null);t["a"]=m.exports},"636c":function(e,t,n){},"63e6":function(e,t,n){},"64b5":function(e,t,n){},6667:function(e,t,n){"use strict";var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{staticClass:"diagonal-arrow",attrs:{viewBox:"0 0 14 14",themeId:"diagonal-arrow"}},[n("path",{attrs:{d:"M0.010 12.881l10.429-10.477-3.764 0.824-0.339-1.549 7.653-1.679-1.717 7.622-1.546-0.349 0.847-3.759-10.442 10.487z"}})])},a=[],r=n("be08"),s={name:"DiagonalArrowIcon",components:{SVGIcon:r["a"]}},o=s,c=n("2877"),l=Object(c["a"])(o,i,a,!1,null,null,null);t["a"]=l.exports},"66cd":function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));const i={article:"article",codeListing:"codeListing",collection:"collection",collectionGroup:"collectionGroup",containerSymbol:"containerSymbol",devLink:"devLink",dictionarySymbol:"dictionarySymbol",generic:"generic",link:"link",media:"media",pseudoCollection:"pseudoCollection",pseudoSymbol:"pseudoSymbol",restRequestSymbol:"restRequestSymbol",sampleCode:"sampleCode",symbol:"symbol",table:"table",learn:"learn",overview:"overview",project:"project",tutorial:"tutorial",resources:"resources"}},6869:function(e,t,n){"use strict";n("9649")},"6e4a":function(e,t,n){"use strict";n("05a1")},"6e71":function(e,t,n){"use strict";n("3ba9")},"70fb":function(e,t,n){"use strict";var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"TopicsLinkCardGrid"},[n("Row",{attrs:{columns:{large:e.compactCards?3:2,medium:2}}},e._l(e.items,(function(t){return n("Column",{key:t.title},[n("TopicsLinkCardGridItem",{attrs:{item:t,compact:e.compactCards}})],1)})),1)],1)},a=[],r=n("ee9e"),s=n("308e"),o=n("12b1"),c=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("Card",{staticClass:"reference-card-grid-item",attrs:{url:e.item.url,image:e.imageReferences.card,title:e.item.title,"floating-style":"",size:e.cardSize,"link-text":e.compact?"":e.$t(e.linkText)},scopedSlots:e._u([e.imageReferences.card?null:{key:"cover",fn:function(t){var i=t.classes;return[n("div",{staticClass:"reference-card-grid-item__image",class:i},[n("TopicTypeIcon",{staticClass:"reference-card-grid-item__icon",attrs:{type:e.item.role,"image-override":e.references[e.imageReferences.icon]}})],1)]}}],null,!0)},[e.compact?e._e():n("ContentNode",{attrs:{content:e.item.abstract}})],1)},l=[],u=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("Reference",e._b({staticClass:"card",class:e.classes,attrs:{url:e.url}},"Reference",e.linkAriaTags,!1),[n("CardCover",{attrs:{variants:e.imageVariants,rounded:e.floatingStyle,alt:e.imageReference.alt,"aria-hidden":"true"},scopedSlots:e._u([{key:"default",fn:function(t){return[e._t("cover",null,null,t)]}}],null,!0)}),n("div",{staticClass:"details",attrs:{"aria-hidden":"true"}},[e.eyebrow?n("div",{staticClass:"eyebrow",attrs:{id:e.eyebrowId,"aria-label":e.formatAriaLabel("- "+e.eyebrow)}},[e._v(" "+e._s(e.eyebrow)+" ")]):e._e(),n("div",{staticClass:"title",attrs:{id:e.titleId}},[e._v(" "+e._s(e.title)+" ")]),e.$slots.default?n("div",{staticClass:"card-content",attrs:{id:e.contentId}},[e._t("default")],2):e._e(),e.linkText?n(e.hasButton?"ButtonLink":"div",{tag:"component",staticClass:"link"},[e._v(" "+e._s(e.linkText)+" "),e.showExternalLinks?n("DiagonalArrowIcon",{staticClass:"icon-inline link-icon"}):e.hasButton?e._e():n("InlineChevronRightIcon",{staticClass:"icon-inline link-icon"})],1):e._e()],1)],1)},d=[],p=n("76ab"),h=n("34b0"),m=n("6667"),f=n("86d8"),g={small:"small",large:"large"},b=n("2f34"),v=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"card-cover-wrap",class:{rounded:e.rounded}},[e._t("default",(function(){return[n("ImageAsset",{staticClass:"card-cover",attrs:{variants:e.variants,alt:e.alt}})]}),{classes:"card-cover"})],2)},y=[],w=n("8bd9"),_={name:"CardCover",components:{ImageAsset:w["a"]},props:{variants:{type:Array,required:!0},rounded:{type:Boolean,default:!1},alt:{type:String,default:null}}},x=_,k=(n("850e"),n("2877")),C=Object(k["a"])(x,v,y,!1,null,"0c1c40a1",null),S=C.exports,E={name:"Card",components:{Reference:f["a"],DiagonalArrowIcon:m["a"],InlineChevronRightIcon:h["a"],CardCover:S,ButtonLink:p["a"]},constants:{CardSize:g},mixins:[b["a"]],computed:{titleId:({_uid:e})=>"card_title_"+e,contentId:({_uid:e})=>"card_content_"+e,eyebrowId:({_uid:e})=>"card_eyebrow_"+e,linkAriaTags:({titleId:e,eyebrowId:t,contentId:n,eyebrow:i,$slots:a})=>({"aria-labelledby":e.concat(i?" "+t:""),"aria-describedby":a.default?""+n:null}),classes:({size:e,floatingStyle:t})=>[e,{"floating-style":t}],imageReference:({image:e,references:t})=>t[e]||{},imageVariants:({imageReference:e})=>e.variants||[]},props:{linkText:{type:String,required:!1},url:{type:String,required:!1,default:""},eyebrow:{type:String,required:!1},image:{type:String,required:!1},size:{type:String,validator:e=>Object.prototype.hasOwnProperty.call(g,e)},title:{type:String,required:!0},hasButton:{type:Boolean,default:()=>!1},floatingStyle:{type:Boolean,default:!1},showExternalLinks:{type:Boolean,default:!1},formatAriaLabel:{type:Function,default:e=>e}}},O=E,I=(n("0939"),Object(k["a"])(O,u,d,!1,null,"328d568a",null)),j=I.exports,T=n("f12c"),A=n("66cd");const L={[A["a"].article]:"documentation.card.read-article",[A["a"].overview]:"documentation.card.start-tutorial",[A["a"].collection]:"documentation.card.view-api",[A["a"].symbol]:"documentation.card.view-symbol",[A["a"].sampleCode]:"documentation.card.view-sample-code"};var B={name:"TopicsLinkCardGridItem",components:{TopicTypeIcon:T["a"],Card:j,ContentNode:()=>Promise.resolve().then(n.bind(null,"5677"))},mixins:[b["a"]],props:{item:{type:Object,required:!0},compact:{type:Boolean,default:!0}},computed:{imageReferences:({item:e})=>(e.images||[]).reduce((e,t)=>(e[t.type]=t.identifier,e),{icon:null,card:null}),linkText:({item:e})=>L[e.role]||"documentation.card.learn-more",cardSize:({compact:e})=>e?void 0:g.large}},$=B,N=(n("8f26"),Object(k["a"])($,c,l,!1,null,"08a5e3f8",null)),M=N.exports,P={name:"TopicsLinkCardGrid",components:{TopicsLinkCardGridItem:M,Column:s["a"],Row:r["a"]},props:{items:{type:Array,required:!0},topicStyle:{type:String,default:o["a"].compactGrid,validator:e=>e===o["a"].compactGrid||e===o["a"].detailedGrid}},computed:{compactCards:({topicStyle:e})=>e===o["a"].compactGrid}},R=P,V=Object(k["a"])(R,i,a,!1,null,null,null);t["a"]=V.exports},"72e7":function(e,t,n){"use strict";const i={up:"up",down:"down"};t["a"]={constants:{IntersectionDirections:i},data(){return{intersectionObserver:null,intersectionPreviousScrollY:0,intersectionScrollDirection:i.down}},computed:{intersectionThreshold(){const e=[];for(let t=0;t<=1;t+=.01)e.push(t);return e},intersectionRoot(){return null},intersectionRootMargin(){return"0px 0px 0px 0px"},intersectionObserverOptions(){return{root:this.intersectionRoot,rootMargin:this.intersectionRootMargin,threshold:this.intersectionThreshold}}},async mounted(){await n.e("chunk-2d0d3105").then(n.t.bind(null,"5abe",7)),this.intersectionObserver=new IntersectionObserver(e=>{this.detectIntersectionScrollDirection();const t=this.onIntersect;t?e.forEach(t):console.warn("onIntersect not implemented")},this.intersectionObserverOptions),this.getIntersectionTargets().forEach(e=>{this.intersectionObserver.observe(e)})},beforeDestroy(){this.intersectionObserver&&this.intersectionObserver.disconnect()},methods:{getIntersectionTargets(){return[this.$el]},detectIntersectionScrollDirection(){window.scrollY<this.intersectionPreviousScrollY?this.intersectionScrollDirection=i.down:window.scrollY>this.intersectionPreviousScrollY&&(this.intersectionScrollDirection=i.up),this.intersectionPreviousScrollY=window.scrollY}}}},"74ea":function(e,t,n){"use strict";n("636c")},7689:function(e,t,n){"use strict";t["a"]={computed:{isClientMobile(){let e=!1;return e="maxTouchPoints"in navigator||"msMaxTouchPoints"in navigator?Boolean(navigator.maxTouchPoints||navigator.msMaxTouchPoints):window.matchMedia?window.matchMedia("(pointer:coarse)").matches:"orientation"in window,e}}}},"76ab":function(e,t,n){"use strict";var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n(e.resolvedComponent,e._b({tag:"component",staticClass:"button-cta",class:{"is-dark":e.isDark}},"component",e.componentProps,!1),[e._t("default")],2)},a=[],r=n("86d8"),s={name:"ButtonLink",components:{Reference:r["a"]},props:{url:{type:String,required:!1},isDark:{type:Boolean,default:!1}},computed:{resolvedComponent:({url:e})=>e?r["a"]:"button",componentProps:({url:e})=>e?{url:e}:{}}},o=s,c=(n("0da1"),n("2877")),l=Object(c["a"])(o,i,a,!1,null,"c9c81868",null);t["a"]=l.exports},"7b1f":function(e,t,n){"use strict";var i,a,r={functional:!0,name:"WordBreak",render(e,{props:t,slots:n,data:i}){const a=n().default||[],r=a.filter(e=>e.text&&!e.tag);if(0===r.length||r.length!==a.length)return e(t.tag,i,a);const s=r.map(({text:e})=>e).join(),o=[];let c=null,l=0;while(null!==(c=t.safeBoundaryPattern.exec(s))){const t=c.index+1;o.push(s.slice(l,t)),o.push(e("wbr",{key:c.index})),l=t}return o.push(s.slice(l,s.length)),e(t.tag,i,o)},props:{safeBoundaryPattern:{type:RegExp,default:()=>/([a-z](?=[A-Z])|(:)\w|\w(?=[._]\w))/g},tag:{type:String,default:()=>"span"}}},s=r,o=n("2877"),c=Object(o["a"])(s,i,a,!1,null,null,null);t["a"]=c.exports},"7b69":function(e,t,n){"use strict";var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"code-listing",class:{"single-line":1===e.syntaxHighlightedLines.length},attrs:{"data-syntax":e.syntaxNameNormalized}},[e.fileName?n("Filename",{attrs:{isActionable:e.isFileNameActionable,fileType:e.fileType},on:{click:function(t){return e.$emit("file-name-click")}}},[e._v(e._s(e.fileName)+" ")]):e._e(),n("div",{staticClass:"container-general"},[n("pre",[n("CodeBlock",[e._l(e.syntaxHighlightedLines,(function(t,i){return[n("span",{key:i,class:["code-line-container",{highlighted:e.isHighlighted(i)}]},[e.showLineNumbers?n("span",{staticClass:"code-number",attrs:{"data-line-number":e.lineNumberFor(i)}}):e._e(),n("span",{staticClass:"code-line",domProps:{innerHTML:e._s(t)}})]),e._v("\n")]}))],2)],1)])],1)},a=[],r=n("002d"),s=n("8649"),o=n("800b"),c=n("1020"),l=n.n(c);const u={objectivec:["objective-c"]},d={bash:["sh","zsh"],c:["h"],cpp:["cc","c++","h++","hpp","hh","hxx","cxx"],css:[],diff:["patch"],http:["https"],java:["jsp"],javascript:["js","jsx","mjs","cjs"],json:[],llvm:[],markdown:["md","mkdown","mkd"],objectivec:["mm","objc","obj-c"].concat(u.objectivec),perl:["pl","pm"],php:[],python:["py","gyp","ipython"],ruby:["rb","gemspec","podspec","thor","irb"],scss:[],shell:["console","shellsession"],swift:[],xml:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],...Object({NODE_ENV:"production",VUE_APP_TITLE:"Documentation",BASE_URL:"{{BASE_PATH}}/"}).VUE_APP_HLJS_LANGUAGES?Object.fromEntries(Object({NODE_ENV:"production",VUE_APP_TITLE:"Documentation",BASE_URL:"{{BASE_PATH}}/"}).VUE_APP_HLJS_LANGUAGES.split(",").map(e=>[e,[]])):void 0},p=new Set(["markdown","swift"]),h=Object.entries(d),m=new Set(Object.keys(d)),f=new Map;async function g(e){const t=[e];try{return await t.reduce(async(e,t)=>{let i;await e,i=p.has(t)?await n("1417")("./"+t):await n("b7b0")("./"+t),l.a.registerLanguage(t,i.default)},Promise.resolve()),!0}catch(i){return console.error(`Could not load ${e} file`),!1}}function b(e){if(m.has(e))return e;const t=h.find(([,t])=>t.includes(e));return t?t[0]:null}function v(e){if(f.has(e))return f.get(e);const t=b(e);return f.set(e,t),t}l.a.configure({classPrefix:"syntax-",languages:[...m]});const y=async e=>{const t=v(e);return!(!t||l.a.listLanguages().includes(t))&&g(t)},w=/\r\n|\r|\n/g,_=/syntax-/;function x(e){return 0===e.length?[]:e.split(w)}function k(e){return(e.trim().match(w)||[]).length}function C(e){const t=document.createElement("template");return t.innerHTML=e,t.content.childNodes}function S(e){const{className:t}=e;if(!_.test(t))return null;const n=x(e.innerHTML).reduce((e,n)=>`${e}<span class="${t}">${n}</span>\n`,"");return C(n.trim())}function E(e){return Array.from(e.childNodes).forEach(e=>{if(k(e.textContent))try{const t=e.childNodes.length?E(e):S(e);t&&e.replaceWith(...t)}catch(t){console.error(t)}}),S(e)}function O(e,t){const n=b(t);if(!l.a.getLanguage(n))throw new Error("Unsupported language for syntax highlighting: "+t);return l.a.highlight(e,{language:n,ignoreIllegals:!0}).value}function I(e,t){const n=e.join("\n"),i=O(n,t),a=document.createElement("code");return a.innerHTML=i,E(a),x(a.innerHTML)}var j=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("span",{staticClass:"filename"},[e.isActionable?n("a",{attrs:{href:"#"},on:{click:function(t){return t.preventDefault(),e.$emit("click")}}},[n("FileIcon",{attrs:{fileType:e.fileType}}),e._t("default")],2):n("span",[n("FileIcon",{attrs:{fileType:e.fileType}}),e._t("default")],2)])},T=[],A=function(){var e=this,t=e.$createElement,n=e._self._c||t;return"swift"===e.fileType?n("SwiftFileIcon",{staticClass:"file-icon"}):n("GenericFileIcon",{staticClass:"file-icon"})},L=[],B=n("a88f"),$=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{staticClass:"generic-file-icon",attrs:{viewBox:"0 0 14 14",themeId:"generic-file"}},[n("path",{attrs:{d:"M8.033 1l3.967 4.015v7.985h-10v-12zM7.615 2h-4.615v10h8v-6.574z"}}),n("path",{attrs:{d:"M7 1h1v4h-1z"}}),n("path",{attrs:{d:"M7 5h5v1h-5z"}})])},N=[],M=n("be08"),P={name:"GenericFileIcon",components:{SVGIcon:M["a"]}},R=P,V=n("2877"),D=Object(V["a"])(R,$,N,!1,null,null,null),G=D.exports,z={name:"CodeListingFileIcon",components:{SwiftFileIcon:B["a"],GenericFileIcon:G},props:{fileType:String}},q=z,F=(n("e6db"),Object(V["a"])(q,A,L,!1,null,"7c381064",null)),U=F.exports,W={name:"CodeListingFilename",components:{FileIcon:U},props:{isActionable:{type:Boolean,default:()=>!1},fileType:String}},H=W,K=(n("8608"),Object(V["a"])(H,j,T,!1,null,"c8c40662",null)),Z=K.exports,Y={name:"CodeListing",components:{Filename:Z,CodeBlock:o["a"]},data(){return{syntaxHighlightedLines:[]}},props:{fileName:String,isFileNameActionable:{type:Boolean,default:()=>!1},syntax:String,fileType:String,content:{type:Array,required:!0},startLineNumber:{type:Number,default:()=>1},highlights:{type:Array,default:()=>[]},showLineNumbers:{type:Boolean,default:()=>!1}},computed:{escapedContent:({content:e})=>e.map(r["c"]),highlightedLineNumbers(){return new Set(this.highlights.map(({line:e})=>e))},syntaxNameNormalized(){const e={occ:s["a"].objectiveC.key.url};return e[this.syntax]||this.syntax}},watch:{content:{handler:"syntaxHighlightLines",immediate:!0}},methods:{isHighlighted(e){return this.highlightedLineNumbers.has(this.lineNumberFor(e))},lineNumberFor(e){return this.startLineNumber+e},async syntaxHighlightLines(){let e;try{await y(this.syntaxNameNormalized),e=I(this.content,this.syntaxNameNormalized)}catch(t){e=this.escapedContent}this.syntaxHighlightedLines=e.map(e=>""===e?"\n":e)}}},X=Y,J=(n("7e3a"),Object(V["a"])(X,i,a,!1,null,"59f42f5b",null));t["a"]=J.exports},"7e3a":function(e,t,n){"use strict";n("f030")},"800b":function(e,t,n){"use strict";var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("code",{attrs:{tabindex:"0","data-before-code":e.$t("accessibility.code.start"),"data-after-code":e.$t("accessibility.code.end")}},[e._t("default")],2)},a=[],r={name:"CodeBlock"},s=r,o=(n("159b"),n("2877")),c=Object(o["a"])(s,i,a,!1,null,"08295b2f",null);t["a"]=c.exports},"80c8":function(e,t,n){},"80e4":function(e,t,n){"use strict";var i,a,r=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"asset"},[n(e.assetComponent,e._g(e._b({tag:"component"},"component",e.assetProps,!1),e.assetListeners))],1)},s=[],o=n("8bd9"),c=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("ConditionalWrapper",{ref:"wrapper",attrs:{tag:e.DeviceFrameComponent,"should-wrap":!!e.deviceFrame,device:e.deviceFrame}},[n("video",{ref:"video",attrs:{controls:e.showsControls,autoplay:e.autoplays,poster:e.normalisedPosterPath,width:e.optimalWidth,playsinline:""},domProps:{muted:e.muted},on:{playing:function(t){return e.$emit("playing")},pause:function(t){return e.$emit("pause")},ended:function(t){return e.$emit("ended")}}},[n("source",{attrs:{src:e.normalizePath(e.videoAttributes.url)}})])])},l=[],u=n("748c"),d=n("e425"),p=n("821b"),h={functional:!0,name:"ConditionalWrapper",props:{tag:[Object,String],shouldWrap:Boolean},render(e,t){return t.props.shouldWrap?e(t.props.tag,t.data,t.children):t.children}},m=h,f=n("2877"),g=Object(f["a"])(m,i,a,!1,null,null,null),b=g.exports,v=n("5416"),y={name:"VideoAsset",components:{ConditionalWrapper:b},props:{variants:{type:Array,required:!0},showsControls:{type:Boolean,default:()=>!0},autoplays:{type:Boolean,default:()=>!0},posterVariants:{type:Array,required:!1,default:()=>[]},muted:{type:Boolean,default:!0},deviceFrame:{type:String,required:!1}},data:()=>({appState:d["a"].state,optimalWidth:null}),computed:{DeviceFrameComponent:()=>v["a"],preferredColorScheme:({appState:e})=>e.preferredColorScheme,systemColorScheme:({appState:e})=>e.systemColorScheme,userPrefersDark:({preferredColorScheme:e,systemColorScheme:t})=>e===p["a"].dark||e===p["a"].auto&&t===p["a"].dark,shouldShowDarkVariant:({darkVideoVariantAttributes:e,userPrefersDark:t})=>e&&t,defaultVideoAttributes(){return this.videoVariantsGroupedByAppearance.light[0]||this.darkVideoVariantAttributes||{}},darkVideoVariantAttributes(){return this.videoVariantsGroupedByAppearance.dark[0]},videoVariantsGroupedByAppearance(){return Object(u["e"])(this.variants)},posterVariantsGroupedByAppearance(){const{light:e,dark:t}=Object(u["e"])(this.posterVariants);return{light:Object(u["a"])(e),dark:Object(u["a"])(t)}},defaultPosterAttributes:({posterVariantsGroupedByAppearance:e,userPrefersDark:t})=>t&&e.dark.length?e.dark[0]:e.light[0]||{},normalisedPosterPath:({defaultPosterAttributes:e})=>Object(u["c"])(e.src),videoAttributes:({darkVideoVariantAttributes:e,defaultVideoAttributes:t,shouldShowDarkVariant:n})=>n?e:t},watch:{normalisedPosterPath:{immediate:!0,handler:"getPosterDimensions"}},methods:{normalizePath:u["c"],async getPosterDimensions(e){if(!e)return void(this.optimalWidth=null);const{density:t}=this.defaultPosterAttributes,n=parseInt(t.match(/\d+/)[0],10),{width:i}=await Object(u["b"])(e);this.optimalWidth=i/n}}},w=y,_=Object(f["a"])(w,c,l,!1,null,null,null),x=_.exports,k=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"video-replay-container"},[n("VideoAsset",{ref:"asset",attrs:{variants:e.variants,autoplays:e.autoplays,showsControls:e.showsControls,muted:e.muted,posterVariants:e.posterVariants,deviceFrame:e.deviceFrame},on:{pause:e.onPause,playing:e.onVideoPlaying,ended:e.onVideoEnd}}),e.showsControls?e._e():n("a",{staticClass:"control-button",attrs:{href:"#"},on:{click:function(t){return t.preventDefault(),e.togglePlayStatus.apply(null,arguments)}}},[e._v(" "+e._s(e.text)+" "),e.videoEnded?n("InlineReplayIcon",{staticClass:"control-icon icon-inline"}):e.isPlaying?n("PauseIcon",{staticClass:"control-icon icon-inline"}):n("PlayIcon",{staticClass:"control-icon icon-inline"})],1)],1)},C=[],S=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{staticClass:"inline-replay-icon",attrs:{viewBox:"0 0 14 14",themeId:"inline-replay"}},[n("path",{attrs:{d:"M2.254 10.201c-1.633-2.613-0.838-6.056 1.775-7.689 2.551-1.594 5.892-0.875 7.569 1.592l0.12 0.184-0.848 0.53c-1.34-2.145-4.166-2.797-6.311-1.457s-2.797 4.166-1.457 6.311 4.166 2.797 6.311 1.457c1.006-0.629 1.71-1.603 2.003-2.723l0.056-0.242 0.98 0.201c-0.305 1.487-1.197 2.792-2.51 3.612-2.613 1.633-6.056 0.838-7.689-1.775z"}}),n("path",{attrs:{d:"M10.76 1.355l0.984-0.18 0.851 4.651-4.56-1.196 0.254-0.967 3.040 0.796z"}})])},E=[],O=n("be08"),I={name:"InlineReplayIcon",components:{SVGIcon:O["a"]}},j=I,T=Object(f["a"])(j,S,E,!1,null,null,null),A=T.exports,L=n("c4dd"),B=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{staticClass:"pause-icon",attrs:{viewBox:"0 0 14 14",themeId:"pause"}},[n("path",{attrs:{d:"M5 4h1v6h-1z"}}),n("path",{attrs:{d:"M8 4h1v6h-1z"}}),n("path",{attrs:{d:"M7 0.5c-3.6 0-6.5 2.9-6.5 6.5s2.9 6.5 6.5 6.5 6.5-2.9 6.5-6.5-2.9-6.5-6.5-6.5zM7 12.5c-3 0-5.5-2.5-5.5-5.5s2.5-5.5 5.5-5.5 5.5 2.5 5.5 5.5-2.5 5.5-5.5 5.5z"}})])},$=[],N={name:"PauseIcon",components:{SVGIcon:O["a"]}},M=N,P=Object(f["a"])(M,B,$,!1,null,null,null),R=P.exports,V={name:"ReplayableVideoAsset",components:{PauseIcon:R,PlayIcon:L["a"],InlineReplayIcon:A,VideoAsset:x},props:{variants:{type:Array,required:!0},showsControls:{type:Boolean,default:()=>!0},autoplays:{type:Boolean,default:()=>!0},muted:{type:Boolean,default:!0},posterVariants:{type:Array,default:()=>[]},deviceFrame:{type:String,required:!1}},computed:{text(){return this.videoEnded?this.$t("video.replay"):this.isPlaying?this.$t("video.pause"):this.$t("video.play")}},data(){return{isPlaying:!1,videoEnded:!1}},methods:{async togglePlayStatus(){const e=this.$refs.asset.$refs.video;e&&(this.isPlaying&&!this.videoEnded?await e.pause():await e.play())},onVideoEnd(){this.isPlaying=!1,this.videoEnded=!0},onVideoPlaying(){const{video:e}=this.$refs.asset.$refs;this.isPlaying=!e.paused,this.videoEnded=e.ended},onPause(){const{video:e}=this.$refs.asset.$refs;!this.showsControls&&this.isPlaying&&(this.isPlaying=!1),this.videoEnded=e.ended}}},D=V,G=(n("74ea"),Object(f["a"])(D,k,C,!1,null,"7653dfd0",null)),z=G.exports,q=n("2f34");const F={video:"video",image:"image"};var U={name:"Asset",components:{ImageAsset:o["a"],VideoAsset:x},constants:{AssetTypes:F},mixins:[q["a"]],props:{identifier:{type:String,required:!0},showsReplayButton:{type:Boolean,default:()=>!1},showsVideoControls:{type:Boolean,default:()=>!0},videoAutoplays:{type:Boolean,default:()=>!0},videoMuted:{type:Boolean,default:!0},deviceFrame:{type:String,required:!1}},computed:{rawAsset(){return this.references[this.identifier]||{}},isRawAssetVideo:({rawAsset:e})=>e.type===F.video,videoPoster(){return this.isRawAssetVideo&&this.references[this.rawAsset.poster]},asset(){return this.isRawAssetVideo&&this.prefersReducedMotion&&this.videoPoster||this.rawAsset},assetComponent(){switch(this.asset.type){case F.image:return o["a"];case F.video:return this.showsReplayButton?z:x;default:return}},prefersReducedMotion(){return window.matchMedia("(prefers-reduced-motion)").matches},assetProps(){return{[F.image]:this.imageProps,[F.video]:this.videoProps}[this.asset.type]},imageProps(){return{alt:this.asset.alt,variants:this.asset.variants}},videoProps(){return{variants:this.asset.variants,showsControls:this.showsVideoControls,muted:this.videoMuted,autoplays:!this.prefersReducedMotion&&this.videoAutoplays,posterVariants:this.videoPoster?this.videoPoster.variants:[],deviceFrame:this.deviceFrame}},assetListeners(){return{[F.image]:null,[F.video]:{ended:()=>this.$emit("videoEnded")}}[this.asset.type]}}},W=U,H=(n("5201"),Object(f["a"])(W,r,s,!1,null,"dcbc7b38",null));t["a"]=H.exports},"81c0":function(e,t,n){},8222:function(e,t,n){},"850e":function(e,t,n){"use strict";n("88d2")},8608:function(e,t,n){"use strict";n("a7f3")},"863d":function(e,t,n){"use strict";var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("li",{staticClass:"nav-menu-item",class:{"nav-menu-item--animated":e.animate}},[e._t("default")],2)},a=[],r={name:"NavMenuItemBase",props:{animate:{type:Boolean,default:!0}}},s=r,o=(n("43fe"),n("2877")),c=Object(o["a"])(s,i,a,!1,null,"66cbfe4c",null);t["a"]=c.exports},8649:function(e,t,n){"use strict";t["a"]={objectiveC:{name:"Objective-C",key:{api:"occ",url:"objc"}},swift:{name:"Swift",key:{api:"swift",url:"swift"}}}},"86d8":function(e,t,n){"use strict";var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n(e.refComponent,{tag:"component",attrs:{url:e.urlWithParams,"is-active":e.isActiveComputed}},[e._t("default")],2)},a=[],r=n("d26a"),s=n("66cd"),o=n("9895"),c=function(){var e=this,t=e.$createElement,n=e._self._c||t;return e.isActive?n("a",{attrs:{href:e.url}},[e._t("default")],2):n("span",[e._t("default")],2)},l=[],u={name:"ReferenceExternal",props:{url:{type:String,required:!0},isActive:{type:Boolean,default:!0}}},d=u,p=n("2877"),h=Object(p["a"])(d,c,l,!1,null,null,null),m=h.exports,f=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("ReferenceInternal",e._b({},"ReferenceInternal",e.$props,!1),[n("CodeVoice",[e._t("default")],2)],1)},g=[],b=function(){var e=this,t=e.$createElement,n=e._self._c||t;return e.isActive?n("router-link",{attrs:{to:e.url}},[e._t("default")],2):n("span",[e._t("default")],2)},v=[],y={name:"ReferenceInternal",props:{url:{type:String,required:!0},isActive:{type:Boolean,default:!0}}},w=y,_=Object(p["a"])(w,b,v,!1,null,null,null),x=_.exports,k=n("52e4"),C={name:"ReferenceInternalSymbol",props:x.props,components:{ReferenceInternal:x,CodeVoice:k["a"]}},S=C,E=Object(p["a"])(S,f,g,!1,null,null,null),O=E.exports,I={name:"Reference",computed:{isInternal({url:e}){if(!e.startsWith("/")&&!e.startsWith("#"))return!1;const{resolved:{name:t}={}}=this.$router.resolve(e)||{};return t!==o["b"]},isSymbolReference(){return"symbol"===this.kind&&!this.hasInlineFormatting&&(this.role===s["a"].symbol||this.role===s["a"].dictionarySymbol)},isDisplaySymbol({isSymbolReference:e,titleStyle:t,ideTitle:n}){return n?e&&"symbol"===t:e},refComponent(){return this.isInternal?this.isDisplaySymbol?O:x:m},urlWithParams({isInternal:e}){return e?Object(r["b"])(this.url,this.$route.query):this.url},isActiveComputed({url:e,isActive:t}){return!(!e||!t)}},props:{url:{type:String,required:!0},kind:{type:String,required:!1},role:{type:String,required:!1},isActive:{type:Boolean,required:!1,default:!0},ideTitle:{type:String,required:!1},titleStyle:{type:String,required:!1},hasInlineFormatting:{type:Boolean,default:!1}}},j=I,T=Object(p["a"])(j,i,a,!1,null,null,null);t["a"]=T.exports},"88d2":function(e,t,n){},"8a61":function(e,t,n){"use strict";var i=n("3908");t["a"]={methods:{async scrollToElement(e){await Object(i["b"])(8);const t=this.$router.resolve({hash:e}),{selector:n,offset:a}=await this.$router.options.scrollBehavior(t.route),r=document.querySelector(n);return r?(r.scrollIntoView(),window.scrollY+window.innerHeight<document.body.scrollHeight&&window.scrollBy(-a.x,-a.y),r):null},async handleFocusAndScroll(e){const t=document.getElementById(e);t&&(t.focus({preventScroll:!0}),await this.scrollToElement("#"+e))}}}},"8bd9":function(e,t,n){"use strict";var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return e.fallbackImageSrcSet?n("img",{staticClass:"fallback",attrs:{title:e.$t("error.image"),decoding:"async",alt:e.alt,srcset:e.fallbackImageSrcSet}}):n("picture",[e.prefersAuto&&e.darkVariantAttributes?n("source",{attrs:{media:"(prefers-color-scheme: dark)",srcset:e.darkVariantAttributes.srcSet}}):e._e(),e.prefersDark&&e.darkVariantAttributes?n("img",e._b({ref:"img",attrs:{decoding:"async",loading:e.loading,alt:e.alt,width:e.darkVariantAttributes.width||e.optimalWidth,height:e.darkVariantAttributes.width||e.optimalWidth?"auto":null},on:{error:e.handleImageLoadError}},"img",e.darkVariantAttributes,!1)):n("img",e._b({ref:"img",attrs:{decoding:"async",loading:e.loading,alt:e.alt,width:e.defaultAttributes.width||e.optimalWidth,height:e.defaultAttributes.width||e.optimalWidth?"auto":null},on:{error:e.handleImageLoadError}},"img",e.defaultAttributes,!1))])},a=[],r=n("748c"),s={props:{variants:{type:Array,required:!0}},computed:{variantsGroupedByAppearance(){return Object(r["e"])(this.variants)},lightVariants(){return Object(r["a"])(this.variantsGroupedByAppearance.light)},darkVariants(){return Object(r["a"])(this.variantsGroupedByAppearance.dark)}}},o=n("e425"),c=n("821b"),l=n("5da3"),u=n.n(l);const d=10;function p(e){if(!e.length)return null;const t=e.map(e=>`${Object(r["c"])(e.src)} ${e.density}`).join(", "),n=e[0],i={srcSet:t,src:Object(r["c"])(n.src)},{width:a}=n.size||{width:null};return a&&(i.width=a,i.height="auto"),i}var h={name:"ImageAsset",mixins:[s],inject:{imageLoadingStrategy:{default:null}},data:()=>({appState:o["a"].state,fallbackImageSrcSet:null,optimalWidth:null}),computed:{allVariants:({lightVariants:e=[],darkVariants:t=[]})=>e.concat(t),defaultAttributes:({lightVariantAttributes:e,darkVariantAttributes:t})=>e||t,darkVariantAttributes:({darkVariants:e})=>p(e),lightVariantAttributes:({lightVariants:e})=>p(e),loading:({appState:e,imageLoadingStrategy:t})=>t||e.imageLoadingStrategy,preferredColorScheme:({appState:e})=>e.preferredColorScheme,prefersAuto:({preferredColorScheme:e})=>e===c["a"].auto,prefersDark:({preferredColorScheme:e})=>e===c["a"].dark},props:{alt:{type:String,default:""},variants:{type:Array,required:!0},shouldCalculateOptimalWidth:{type:Boolean,default:!0}},methods:{handleImageLoadError(){this.fallbackImageSrcSet=u.a+" 2x"},async calculateOptimalWidth(){const{$refs:{img:{currentSrc:e}},allVariants:t}=this,{density:n}=t.find(({src:t})=>e.endsWith(t)),i=parseInt(n.match(/\d+/)[0],d),a=await Object(r["b"])(e),s=a.width/i;return s},async optimizeImageSize(){if(!this.defaultAttributes.width&&this.$refs.img)try{this.optimalWidth=await this.calculateOptimalWidth()}catch{console.error("Unable to calculate optimal image width")}}},mounted(){this.shouldCalculateOptimalWidth&&this.$refs.img.addEventListener("load",this.optimizeImageSize)}},m=h,f=n("2877"),g=Object(f["a"])(m,i,a,!1,null,null,null);t["a"]=g.exports},"8c92":function(e,t,n){"use strict";n("80c8")},"8d2d":function(e,t,n){"use strict";var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{staticClass:"tutorial-icon",attrs:{viewBox:"0 0 14 14",themeId:"tutorial"}},[n("path",{attrs:{d:"M0.933 6.067h3.733v1.867h-3.733v-1.867z"}}),n("path",{attrs:{d:"M0.933 1.867h3.733v1.867h-3.733v-1.867z"}}),n("path",{attrs:{d:"M13.067 1.867v10.267h-7.467v-10.267zM12.133 2.8h-5.6v8.4h5.6z"}}),n("path",{attrs:{d:"M0.933 10.267h3.733v1.867h-3.733v-1.867z"}})])},a=[],r=n("be08"),s={name:"TutorialIcon",components:{SVGIcon:r["a"]}},o=s,c=n("2877"),l=Object(c["a"])(o,i,a,!1,null,null,null);t["a"]=l.exports},"8d90":function(e,t,n){},"8f26":function(e,t,n){"use strict";n("0444")},9034:function(e,t,n){},"95da":function(e,t,n){"use strict";var i=n("0cb0");const a="data-original-",r="aria-hidden",s="tabindex";function o(e,t){const n=a+t;if(e.getAttribute(n))return;const i=e.getAttribute(t)||"";e.setAttribute(n,i)}function c(e,t){const n=a+t;if(!e.hasAttribute(n))return;const i=e.getAttribute(n);e.removeAttribute(n),i.length?e.setAttribute(t,i):e.removeAttribute(t)}function l(e,t){const n=document.body;let i=e,a=e;while(i=i.previousElementSibling)t(i);while(a=a.nextElementSibling)t(a);e.parentElement&&e.parentElement!==n&&l(e.parentElement,t)}const u=e=>{o(e,r),o(e,s),e.setAttribute(r,"true"),e.setAttribute(s,"-1");const t=i["a"].getTabbableElements(e);let n=t.length-1;while(n>=0)o(t[n],s),t[n].setAttribute(s,"-1"),n-=1},d=e=>{c(e,r),c(e,s);const t=e.querySelectorAll(`[${a+s}]`);let n=t.length-1;while(n>=0)c(t[n],s),n-=1};t["a"]={hide(e){l(e,u)},show(e){l(e,d)}}},9649:function(e,t,n){},"9a61":function(e,t,n){"use strict";n("19cc")},"9b30":function(e,t,n){"use strict";var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("ul",{staticClass:"nav-menu-items",attrs:{"data-previous-menu-children-count":e.previousSiblingChildren}},[e._t("default")],2)},a=[],r={name:"NavMenuItems",props:{previousSiblingChildren:{type:Number,default:0}}},s=r,o=(n("517a"),n("2877")),c=Object(o["a"])(s,i,a,!1,null,"67c1c0a5",null);t["a"]=c.exports},"9ed5":function(e,t,n){"use strict";n("a5f5")},a295:function(e,t,n){"use strict";var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{attrs:{viewBox:"0 0 14 14",themeId:"path"}},[n("path",{attrs:{d:"M0 0.948h2.8v2.8h-2.8z"}}),n("path",{attrs:{d:"M11.2 10.252h2.8v2.8h-2.8z"}}),n("path",{attrs:{d:"M6.533 1.852h0.933v10.267h-0.933z"}}),n("path",{attrs:{d:"M2.8 1.852h4.667v0.933h-4.667z"}}),n("path",{attrs:{d:"M6.533 11.186h4.667v0.933h-4.667z"}})])},a=[],r=n("be08"),s={name:"PathIcon",components:{SVGIcon:r["a"]}},o=s,c=n("2877"),l=Object(c["a"])(o,i,a,!1,null,null,null);t["a"]=l.exports},a4f0:function(e,t,n){},a5f5:function(e,t,n){},a7a5:function(e,t,n){},a7d8:function(e,t,n){},a7f3:function(e,t,n){},a88f:function(e,t,n){"use strict";var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{staticClass:"swift-file-icon",attrs:{viewBox:"0 0 15 14",themeId:"swift-file"}},[n("path",{attrs:{d:"M14.93,13.56A2.15,2.15,0,0,0,15,13a5.37,5.37,0,0,0-1.27-3.24A6.08,6.08,0,0,0,14,7.91,9.32,9.32,0,0,0,9.21.31a8.51,8.51,0,0,1,1.78,5,6.4,6.4,0,0,1-.41,2.18A45.06,45.06,0,0,1,3.25,1.54,44.57,44.57,0,0,0,7.54,6.9,45.32,45.32,0,0,1,1.47,2.32,35.69,35.69,0,0,0,8.56,9.94a6.06,6.06,0,0,1-3.26.85A9.48,9.48,0,0,1,0,8.91a10,10,0,0,0,8.1,4.72c2.55,0,3.25-1.2,4.72-1.2a2.09,2.09,0,0,1,1.91,1.15C14.79,13.69,14.88,13.75,14.93,13.56Z"}})])},a=[],r=n("be08"),s={name:"SwiftFileIcon",components:{SVGIcon:r["a"]}},o=s,c=(n("c3e5"),n("2877")),l=Object(c["a"])(o,i,a,!1,null,"c01a6890",null);t["a"]=l.exports},a97e:function(e,t,n){"use strict";var i=n("63b8");const a=e=>e?`(max-width: ${e}px)`:"",r=e=>e?`(min-width: ${e}px)`:"";function s({minWidth:e,maxWidth:t}){return["only screen",r(e),a(t)].filter(Boolean).join(" and ")}function o({maxWidth:e,minWidth:t}){return window.matchMedia(s({minWidth:t,maxWidth:e}))}var c,l,u={name:"BreakpointEmitter",constants:{BreakpointAttributes:i["a"],BreakpointName:i["b"],BreakpointScopes:i["c"]},props:{scope:{type:String,default:()=>i["c"].default,validator:e=>e in i["c"]}},render(){return this.$scopedSlots.default?this.$scopedSlots.default({matchingBreakpoint:this.matchingBreakpoint}):null},data:()=>({matchingBreakpoint:null}),methods:{initMediaQuery(e,t){const n=o(t),i=t=>this.handleMediaQueryChange(t,e);n.addListener(i),this.$once("hook:beforeDestroy",()=>{n.removeListener(i)}),i(n)},handleMediaQueryChange(e,t){e.matches&&(this.matchingBreakpoint=t,this.$emit("change",t))}},mounted(){const e=i["a"][this.scope]||{};Object.entries(e).forEach(([e,t])=>{this.initMediaQuery(e,t)})}},d=u,p=n("2877"),h=Object(p["a"])(d,c,l,!1,null,null,null);t["a"]=h.exports},a9f1:function(e,t,n){"use strict";var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{staticClass:"article-icon",attrs:{viewBox:"0 0 14 14",themeId:"article"}},[n("path",{attrs:{d:"M8.033 1l3.967 4.015v7.985h-10v-12zM7.615 2h-4.615v10h8v-6.574z"}}),n("path",{attrs:{d:"M7 1h1v4h-1z"}}),n("path",{attrs:{d:"M7 5h5v1h-5z"}})])},a=[],r=n("be08"),s={name:"ArticleIcon",components:{SVGIcon:r["a"]}},o=s,c=n("2877"),l=Object(c["a"])(o,i,a,!1,null,null,null);t["a"]=l.exports},aea0:function(e,t,n){},b0e7:function(e,t,n){"use strict";n("8d90")},b0f5:function(e,t,n){"use strict";n("49e3")},b2da:function(e,t,n){"use strict";n("e529")},b392:function(e,t,n){},b7b0:function(e,t,n){var i={"./bash":["f0f8","highlight-js-bash"],"./c":["1fe5","highlight-js-c"],"./cpp":["0209","highlight-js-cpp"],"./css":["ee8c","highlight-js-css"],"./diff":["48b8","highlight-js-diff"],"./http":["c01d","highlight-js-http"],"./java":["332f","highlight-js-java"],"./javascript":["4dd1","highlight-js-javascript"],"./json":["5ad2","highlight-js-json"],"./llvm":["7c30","highlight-js-llvm"],"./markdown":["04b0","highlight-js-markdown"],"./objectivec":["9bf2","highlight-js-objectivec"],"./perl":["6a51","highlight-js-perl"],"./php":["2907","highlight-js-php"],"./python":["9510","highlight-js-python"],"./ruby":["82cb","highlight-js-ruby"],"./scss":["6113","highlight-js-scss"],"./shell":["b65b","highlight-js-shell"],"./swift":["2a39","highlight-js-swift"],"./xml":["8dcb","highlight-js-xml"]};function a(e){if(!n.o(i,e))return Promise.resolve().then((function(){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}));var t=i[e],a=t[0];return n.e(t[1]).then((function(){return n.t(a,7)}))}a.keys=function(){return Object.keys(i)},a.id="b7b0",e.exports=a},b8f2:function(e,t,n){"use strict";n("a7a5")},bbe1:function(e,t,n){},bbf6:function(e,t,n){"use strict";n("63e6")},bf08:function(e,t,n){"use strict";var i=n("2788"),a=n("002d"),r=n("d26a"),s=n("5677");t["a"]={methods:{extractFirstParagraphText(e=[]){const t=s["default"].computed.plaintext.bind({...s["default"].methods,content:e})();return Object(a["e"])(t)}},computed:{pagePath:({$route:{path:e="/"}={}})=>e,pageURL:({pagePath:e="/"})=>Object(r["e"])(e),disableMetadata:()=>!1},mounted(){this.disableMetadata||Object(i["a"])({title:this.pageTitle,description:this.pageDescription,url:this.pageURL,currentLocale:this.$i18n.locale})}}},c081:function(e,t,n){"use strict";var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return e.action?n("DestinationDataProvider",{attrs:{destination:e.action},scopedSlots:e._u([{key:"default",fn:function(t){var i=t.url,a=t.title;return n("ButtonLink",{attrs:{url:i,isDark:e.isDark}},[e._v(" "+e._s(a)+" ")])}}],null,!1,1264376715)}):e._e()},a=[],r=n("76ab"),s=n("c7ea"),o={name:"CallToActionButton",components:{DestinationDataProvider:s["a"],ButtonLink:r["a"]},props:{action:{type:Object,required:!0},isDark:{type:Boolean,default:!1}}},c=o,l=n("2877"),u=Object(l["a"])(c,i,a,!1,null,null,null);t["a"]=u.exports},c3da:function(e,t,n){"use strict";n("fda2")},c3e5:function(e,t,n){"use strict";n("aea0")},c4dd:function(e,t,n){"use strict";var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{staticClass:"play-icon",attrs:{viewBox:"0 0 14 14",themeId:"play"}},[n("path",{attrs:{d:"M7 0.5c3.59 0 6.5 2.91 6.5 6.5s-2.91 6.5-6.5 6.5c-3.59 0-6.5-2.91-6.5-6.5v0c0-3.59 2.91-6.5 6.5-6.5v0zM7 1.5c-3.038 0-5.5 2.462-5.5 5.5s2.462 5.5 5.5 5.5c3.038 0 5.5-2.462 5.5-5.5v0c0-3.038-2.462-5.5-5.5-5.5v0z"}}),n("path",{attrs:{d:"M10.195 7.010l-5 3v-6l5 3z"}})])},a=[],r=n("be08"),s={name:"PlayIcon",components:{SVGIcon:r["a"]}},o=s,c=n("2877"),l=Object(c["a"])(o,i,a,!1,null,null,null);t["a"]=l.exports},c7ea:function(e,t,n){"use strict";var i=n("2f34");const a={link:"link",reference:"reference",text:"text"};var r,s,o={name:"DestinationDataProvider",mixins:[i["a"]],props:{destination:{type:Object,required:!0,default:()=>({})}},inject:{isTargetIDE:{default:()=>!1}},constants:{DestinationType:a},computed:{isExternal:({reference:e,destination:t})=>e.type===a.link||t.type===a.link,shouldAppendOpensInBrowser:({isExternal:e,isTargetIDE:t})=>e&&t,reference:({references:e,destination:t})=>e[t.identifier]||{},linkUrl:({destination:e,reference:t})=>({[a.link]:e.destination,[a.reference]:t.url,[a.text]:e.text}[e.type]),linkTitle:({reference:e,destination:t})=>({[a.link]:t.title,[a.reference]:t.overridingTitle||e.title,[a.text]:""}[t.type])},methods:{formatAriaLabel(e){return this.shouldAppendOpensInBrowser?e+" (opens in browser)":e}},render(){return this.$scopedSlots.default({url:this.linkUrl||"",title:this.linkTitle||"",formatAriaLabel:this.formatAriaLabel,isExternal:this.isExternal})}},c=o,l=n("2877"),u=Object(l["a"])(c,r,s,!1,null,null,null);t["a"]=u.exports},cb92:function(e,t,n){"use strict";n("598a")},cbcf:function(e,t,n){"use strict";var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("nav",{ref:"nav",staticClass:"nav",class:e.rootClasses,attrs:{role:"navigation"}},[n("div",{ref:"wrapper",staticClass:"nav__wrapper"},[n("div",{staticClass:"nav__background"}),e.hasOverlay?n("div",{staticClass:"nav-overlay",on:{click:e.closeNav}}):e._e(),n("div",{staticClass:"nav-content"},[e._t("pre-title",null,{className:"pre-title"},{closeNav:e.closeNav,inBreakpoint:e.inBreakpoint,currentBreakpoint:e.currentBreakpoint,isOpen:e.isOpen}),e.$slots.default?n("div",{staticClass:"nav-title"},[e._t("default")],2):e._e(),e._t("after-title"),n("div",{staticClass:"nav-menu"},[n("a",{ref:"axToggle",staticClass:"nav-ax-toggle",attrs:{href:"#",role:"button"},on:{click:function(t){return t.preventDefault(),e.toggleNav.apply(null,arguments)}}},[n("span",{staticClass:"visuallyhidden"},[e.isOpen?[e._v(" "+e._s(e.$t("documentation.nav.close-menu"))+" ")]:[e._v(" "+e._s(e.$t("documentation.nav.open-menu"))+" ")]],2)]),n("div",{ref:"tray",staticClass:"nav-menu-tray",on:{transitionend:function(t){return t.target!==t.currentTarget?null:e.onTransitionEnd.apply(null,arguments)},click:e.handleTrayClick}},[e._t("tray",(function(){return[n("NavMenuItems",[e._t("menu-items")],2)]}),{closeNav:e.closeNav})],2)]),n("div",{staticClass:"nav-actions"},[n("a",{ref:"toggle",staticClass:"nav-menucta",attrs:{href:"#",tabindex:"-1","aria-hidden":"true"},on:{click:function(t){return t.preventDefault(),e.toggleNav.apply(null,arguments)}}},[n("span",{staticClass:"nav-menucta-chevron"})])])],2),e._t("after-content")],2),n("BreakpointEmitter",{attrs:{scope:e.BreakpointScopes.nav},on:{change:e.onBreakpointChange}})],1)},a=[],r=n("72e7"),s=n("9b30"),o=n("a97e"),c=n("f2af"),l=n("942d"),u=n("63b8"),d=n("95da"),p=n("3908");const{noClose:h}=l["a"],{BreakpointName:m,BreakpointScopes:f}=o["a"].constants,g=8,b={isDark:"theme-dark",isOpen:"nav--is-open",inBreakpoint:"nav--in-breakpoint-range",isTransitioning:"nav--is-transitioning",isSticking:"nav--is-sticking",hasSolidBackground:"nav--solid-background",hasNoBorder:"nav--noborder",hasFullWidthBorder:"nav--fullwidth-border",isWideFormat:"nav--is-wide-format",noBackgroundTransition:"nav--no-bg-transition"};var v={name:"NavBase",components:{NavMenuItems:s["a"],BreakpointEmitter:o["a"]},constants:{NavStateClasses:b,NoBGTransitionFrames:g},props:{breakpoint:{type:String,default:m.small},hasOverlay:{type:Boolean,default:!0},hasSolidBackground:{type:Boolean,default:!1},hasNoBorder:{type:Boolean,default:!1},hasFullWidthBorder:{type:Boolean,default:!1},isDark:{type:Boolean,default:!1},isWideFormat:{type:Boolean,default:!1}},mixins:[r["a"]],data(){return{isOpen:!1,isTransitioning:!1,isSticking:!1,noBackgroundTransition:!0,currentBreakpoint:m.large}},computed:{BreakpointScopes:()=>f,inBreakpoint:({currentBreakpoint:e,breakpoint:t})=>!Object(u["d"])(e,t),rootClasses:({isOpen:e,inBreakpoint:t,isTransitioning:n,isSticking:i,hasSolidBackground:a,hasNoBorder:r,hasFullWidthBorder:s,isDark:o,isWideFormat:c,noBackgroundTransition:l})=>({[b.isDark]:o,[b.isOpen]:e,[b.inBreakpoint]:t,[b.isTransitioning]:n,[b.isSticking]:i,[b.hasSolidBackground]:a,[b.hasNoBorder]:r,[b.hasFullWidthBorder]:s,[b.isWideFormat]:c,[b.noBackgroundTransition]:l})},watch:{isOpen(e){this.$emit("change",e),e?this.onExpand():this.onClose()}},async mounted(){window.addEventListener("keydown",this.onEscape),window.addEventListener("popstate",this.closeNav),window.addEventListener("orientationchange",this.closeNav),document.addEventListener("click",this.handleClickOutside),this.handleFlashOnMount(),await this.$nextTick()},beforeDestroy(){window.removeEventListener("keydown",this.onEscape),window.removeEventListener("popstate",this.closeNav),window.removeEventListener("orientationchange",this.closeNav),document.removeEventListener("click",this.handleClickOutside),this.isOpen&&this.toggleScrollLock(!1)},methods:{getIntersectionTargets(){return[document.getElementById(l["e"])||this.$el]},toggleNav(){this.isOpen=!this.isOpen,this.isTransitioning=!0},closeNav(){const e=this.isOpen;return this.isOpen=!1,this.resolveOnceTransitionsEnd(e)},resolveOnceTransitionsEnd(e){return e&&this.inBreakpoint?(this.isTransitioning=!0,new Promise(e=>{const t=this.$watch("isTransitioning",()=>{e(),t()})})):Promise.resolve()},async onTransitionEnd({propertyName:e}){"max-height"===e&&(this.$emit("changed",this.isOpen),this.isTransitioning=!1,this.isOpen?(this.$emit("opened"),this.toggleScrollLock(!0)):this.$emit("closed"))},onBreakpointChange(e){this.currentBreakpoint=e,this.inBreakpoint||this.closeNav()},onIntersect({intersectionRatio:e}){window.scrollY<0||(this.isSticking=1!==e)},onEscape({key:e}){"Escape"===e&&this.isOpen&&(this.closeNav(),this.$refs.axToggle.focus())},handleTrayClick({target:e}){e.href&&!e.classList.contains(h)&&this.closeNav()},handleClickOutside({target:e}){this.$refs.nav.contains(e)||this.closeNav()},toggleScrollLock(e){e?c["b"].lockScroll(this.$refs.tray):c["b"].unlockScroll(this.$refs.tray)},onExpand(){this.$emit("open"),d["a"].hide(this.$refs.wrapper),document.activeElement===this.$refs.toggle&&document.activeElement.blur()},onClose(){this.$emit("close"),this.toggleScrollLock(!1),d["a"].show(this.$refs.wrapper)},async handleFlashOnMount(){await Object(p["b"])(g),this.noBackgroundTransition=!1}}},y=v,w=(n("1f39"),n("2877")),_=Object(w["a"])(y,i,a,!1,null,"5c0521d3",null);t["a"]=_.exports},d0da:function(e,t,n){"use strict";n("64b5")},e3ab:function(e,t,n){"use strict";var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("aside",{class:e.kind,attrs:{"aria-label":e.kind}},[n("p",{staticClass:"label"},[e._v(e._s(e.name||e.$t(e.label)))]),e._t("default")],2)},a=[];const r={deprecated:"deprecated",experiment:"experiment",important:"important",note:"note",tip:"tip",warning:"warning"};var s={name:"Aside",props:{kind:{type:String,required:!0,validator:e=>Object.prototype.hasOwnProperty.call(r,e)},name:{type:String,required:!1}},computed:{label:({kind:e})=>"aside-kind."+e}},o=s,c=(n("b8f2"),n("2877")),l=Object(c["a"])(o,i,a,!1,null,"3ccce809",null);t["a"]=l.exports},e529:function(e,t,n){},e6db:function(e,t,n){"use strict";n("47cc")},ec71:function(e,t,n){"use strict";n("a4f0")},ee9e:function(e,t,n){"use strict";var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"row",class:{"with-columns":e.columns},style:e.style},[e._t("default")],2)},a=[],r=n("63b8"),s={name:"Row",props:{columns:{type:Object,required:!1,validator:e=>Object.entries(e).every(([e,t])=>r["b"][e]&&"number"===typeof t)},gap:{type:Number,required:!1}},computed:{style:({columns:e={},gap:t})=>({"--col-count-large":e.large,"--col-count-medium":e.medium,"--col-count-small":e.small||1,"--col-gap":t&&t+"px"})}},o=s,c=(n("17a4"),n("2877")),l=Object(c["a"])(o,i,a,!1,null,"1bcb2d0f",null);t["a"]=l.exports},efc1:function(e,t,n){"use strict";n("3b75")},f030:function(e,t,n){},f12c:function(e,t,n){"use strict";var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"TopicTypeIcon",style:e.styles},[e.imageOverride?n("OverridableAsset",{staticClass:"icon-inline",attrs:{imageOverride:e.imageOverride,shouldCalculateOptimalWidth:e.shouldCalculateOptimalWidth}}):n(e.icon,e._b({tag:"component",staticClass:"icon-inline"},"component",e.iconProps,!1))],1)},a=[],r=n("a295"),s=n("3024"),o=n("a9f1"),c=n("8d2d"),l=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{attrs:{viewBox:"0 0 14 14",height:"14",themeId:"topic-func"}},[n("path",{attrs:{d:"M13 1v12h-12v-12zM12.077 1.923h-10.154v10.154h10.154z"}}),n("path",{attrs:{d:"M5.191 9.529c0.044 0.002 0.089 0.004 0.133 0.004 0.108 0 0.196-0.025 0.262-0.074s0.122-0.113 0.166-0.188c0.044-0.077 0.078-0.159 0.103-0.247s0.049-0.173 0.074-0.251l0.598-2.186h-0.709l0.207-0.702h0.702l0.288-1.086c0.083-0.384 0.256-0.667 0.517-0.849s0.591-0.273 0.99-0.273c0.108 0 0.212 0.007 0.314 0.022s0.203 0.027 0.306 0.037l-0.207 0.761c-0.054-0.006-0.106-0.011-0.155-0.018s-0.102-0.011-0.155-0.011c-0.108 0-0.196 0.016-0.262 0.048s-0.122 0.075-0.166 0.129-0.080 0.115-0.107 0.185c-0.028 0.068-0.055 0.14-0.085 0.214l-0.222 0.842h0.768l-0.192 0.702h-0.783l-0.628 2.319c-0.059 0.222-0.129 0.419-0.21 0.594s-0.182 0.322-0.303 0.443-0.269 0.214-0.443 0.281-0.385 0.1-0.631 0.1c-0.084 0-0.168-0.004-0.251-0.011s-0.168-0.014-0.251-0.018l0.207-0.768c0.040 0 0.081 0.001 0.126 0.004z"}})])},u=[],d=n("be08"),p={name:"TopicFuncIcon",components:{SVGIcon:d["a"]}},h=p,m=n("2877"),f=Object(m["a"])(h,l,u,!1,null,null,null),g=f.exports,b=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{staticClass:"collection-icon",attrs:{viewBox:"0 0 14 14",themeId:"collection"}},[n("path",{attrs:{d:"m1 1v12h12v-12zm11 11h-10v-10h10z"}}),n("path",{attrs:{d:"m3 4h8v1h-8zm0 2.5h8v1h-8zm0 2.5h8v1h-8z"}}),n("path",{attrs:{d:"m3 4h8v1h-8z"}}),n("path",{attrs:{d:"m3 6.5h8v1h-8z"}}),n("path",{attrs:{d:"m3 9h8v1h-8z"}})])},v=[],y={name:"CollectionIcon",components:{SVGIcon:d["a"]}},w=y,_=Object(m["a"])(w,b,v,!1,null,null,null),x=_.exports,k=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{attrs:{viewBox:"0 0 14 14",height:"14",themeId:"topic-func-op"}},[n("path",{attrs:{d:"M13 13h-12v-12h12zM1.923 12.077h10.154v-10.154h-10.154z"}}),n("path",{attrs:{d:"M5.098 4.968v-1.477h-0.738v1.477h-1.477v0.738h1.477v1.477h0.738v-1.477h1.477v-0.738z"}}),n("path",{attrs:{d:"M8.030 4.807l-2.031 5.538h0.831l2.031-5.538z"}}),n("path",{attrs:{d:"M8.894 8.805v0.923h2.215v-0.923z"}})])},C=[],S={name:"TopicFuncOpIcon",components:{SVGIcon:d["a"]}},E=S,O=Object(m["a"])(E,k,C,!1,null,null,null),I=O.exports,j=n("3b96"),T=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{attrs:{viewBox:"0 0 14 14",height:"14",themeId:"topic-subscript"}},[n("path",{attrs:{d:"M13 13h-12v-12h12zM1.923 12.077h10.154v-10.154h-10.154z"}}),n("path",{attrs:{d:"M4.133 3.633v6.738h1.938v-0.831h-0.923v-5.077h0.923v-0.831z"}}),n("path",{attrs:{d:"M9.856 10.371v-6.738h-1.938v0.831h0.923v5.077h-0.923v0.831z"}})])},A=[],L={name:"TopicSubscriptIcon",components:{SVGIcon:d["a"]}},B=L,$=Object(m["a"])(B,T,A,!1,null,null,null),N=$.exports,M=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{staticClass:"two-letter-icon",attrs:{width:"16px",height:"16px",viewBox:"0 0 16 16",themeId:"two-letter"}},[n("g",{attrs:{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"}},[n("g",{attrs:{transform:"translate(1.000000, 1.000000)"}},[n("rect",{attrs:{stroke:"currentColor",x:"0.5",y:"0.5",width:"13",height:"13"}}),n("text",{attrs:{"font-size":"8","font-weight":"bold",fill:"currentColor"}},[n("tspan",{attrs:{x:"8.2",y:"11"}},[e._v(e._s(e.second))])]),n("text",{attrs:{"font-size":"11","font-weight":"bold",fill:"currentColor"}},[n("tspan",{attrs:{x:"1.7",y:"11"}},[e._v(e._s(e.first))])])])])])},P=[],R={name:"TwoLetterSymbolIcon",components:{SVGIcon:d["a"]},props:{first:{type:String,required:!0},second:{type:String,required:!0}}},V=R,D=Object(m["a"])(V,M,P,!1,null,null,null),G=D.exports,z=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{staticClass:"single-letter-icon",attrs:{width:"16px",height:"16px",viewBox:"0 0 16 16",themeId:"single-letter"}},[n("g",{attrs:{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"}},[n("rect",{attrs:{stroke:"currentColor",x:"1",y:"1",width:"14",height:"14"}}),n("text",{attrs:{"font-size":"11","font-weight":"bold",fill:"currentColor",x:"49%",y:"12","text-anchor":"middle"}},[n("tspan",[e._v(e._s(e.symbol))])])])])},q=[],F={name:"SingleLetterSymbolIcon",components:{SVGIcon:d["a"]},props:{symbol:{type:String,required:!0}}},U=F,W=Object(m["a"])(U,z,q,!1,null,null,null),H=W.exports,K=n("31d4"),Z=n("2cae"),Y=n("fdd9");const X={[K["b"].article]:o["a"],[K["b"].associatedtype]:x,[K["b"].buildSetting]:x,[K["b"].class]:H,[K["b"].collection]:x,[K["b"].dictionarySymbol]:H,[K["b"].container]:x,[K["b"].enum]:H,[K["b"].extension]:G,[K["b"].func]:g,[K["b"].op]:I,[K["b"].httpRequest]:H,[K["b"].languageGroup]:x,[K["b"].learn]:r["a"],[K["b"].method]:H,[K["b"].macro]:H,[K["b"].module]:s["a"],[K["b"].overview]:r["a"],[K["b"].protocol]:G,[K["b"].property]:H,[K["b"].propertyListKey]:H,[K["b"].resources]:r["a"],[K["b"].sampleCode]:j["a"],[K["b"].struct]:H,[K["b"].subscript]:N,[K["b"].symbol]:x,[K["b"].tutorial]:c["a"],[K["b"].typealias]:H,[K["b"].union]:H,[K["b"].var]:H},J={[K["b"].class]:{symbol:"C"},[K["b"].dictionarySymbol]:{symbol:"O"},[K["b"].enum]:{symbol:"E"},[K["b"].extension]:{first:"E",second:"x"},[K["b"].httpRequest]:{symbol:"E"},[K["b"].method]:{symbol:"M"},[K["b"].macro]:{symbol:"#"},[K["b"].protocol]:{first:"P",second:"r"},[K["b"].property]:{symbol:"P"},[K["b"].propertyListKey]:{symbol:"K"},[K["b"].struct]:{symbol:"S"},[K["b"].typealias]:{symbol:"T"},[K["b"].union]:{symbol:"U"},[K["b"].var]:{symbol:"V"}};var Q={name:"TopicTypeIcon",components:{OverridableAsset:Y["a"],SVGIcon:d["a"],SingleLetterSymbolIcon:H},constants:{TopicTypeIcons:X,TopicTypeProps:J},props:{type:{type:String,required:!0},withColors:{type:Boolean,default:!1},imageOverride:{type:Object,default:null},shouldCalculateOptimalWidth:{type:Boolean,default:!0}},computed:{normalisedType:({type:e})=>K["a"][e]||e,icon:({normalisedType:e})=>X[e]||x,iconProps:({normalisedType:e})=>J[e]||{},color:({normalisedType:e})=>Z["b"][e],styles:({color:e,withColors:t})=>t&&e?{"--icon-color":`var(--color-type-icon-${e})`}:{}}},ee=Q,te=(n("9a61"),Object(m["a"])(ee,i,a,!1,null,"18b61706",null));t["a"]=te.exports},f2af:function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));let i=!1,a=-1,r=0;const s="data-scroll-lock-disable",o=()=>window.navigator&&window.navigator.platform&&(/iP(ad|hone|od)/.test(window.navigator.platform)||"MacIntel"===window.navigator.platform&&window.navigator.maxTouchPoints>1);function c(e){e.touches.length>1||e.preventDefault()}const l=e=>!!e&&e.scrollHeight-e.scrollTop<=e.clientHeight;function u(){r=document.body.getBoundingClientRect().top,document.body.style.overflow="hidden scroll",document.body.style.top=r+"px",document.body.style.position="fixed",document.body.style.width="100%"}function d(e){e&&(e.ontouchstart=null,e.ontouchmove=null),document.removeEventListener("touchmove",c)}function p(e,t){const n=e.targetTouches[0].clientY-a,i=e.target.closest(`[${s}]`)||t;return 0===i.scrollTop&&n>0||l(i)&&n<0?c(e):(e.stopPropagation(),!0)}function h(e){document.addEventListener("touchmove",c,{passive:!1}),e&&(e.ontouchstart=e=>{1===e.targetTouches.length&&(a=e.targetTouches[0].clientY)},e.ontouchmove=t=>{1===t.targetTouches.length&&p(t,e)})}t["b"]={lockScroll(e){i||(o()?h(e):u(),i=!0)},unlockScroll(e){i&&(o()?d(e):(document.body.style.removeProperty("overflow"),document.body.style.removeProperty("top"),document.body.style.removeProperty("position"),document.body.style.removeProperty("width"),window.scrollTo(0,Math.abs(r))),i=!1)}}},fb8e:function(e,t,n){"use strict";n("6058")},fda2:function(e,t,n){},fdd9:function(e,t,n){"use strict";var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return e.shouldUseAsset?n("ImageAsset",e._b({},"ImageAsset",{variants:e.variants,loading:null,shouldCalculateOptimalWidth:e.shouldCalculateOptimalWidth,alt:e.alt},!1)):n("SVGIcon",{attrs:{"icon-url":e.iconUrl,themeId:e.themeId}})},a=[],r=n("8bd9"),s=n("be08"),o={name:"OverridableAsset",components:{SVGIcon:s["a"],ImageAsset:r["a"]},props:{imageOverride:{type:Object,default:null},shouldCalculateOptimalWidth:{type:Boolean,default:!0}},computed:{variants:({imageOverride:e})=>e?e.variants:[],alt:({imageOverride:e})=>e.alt,firstVariant:({variants:e})=>e[0],iconUrl:({firstVariant:e})=>e&&e.url,themeId:({firstVariant:e})=>e&&e.svgID,isSameOrigin:({iconUrl:e,sameOrigin:t})=>t(e),shouldUseAsset:({isSameOrigin:e,themeId:t})=>!e||!t},methods:{sameOrigin(e){if(!e)return!1;const t=new URL(e,window.location),n=new URL(window.location);return t.origin===n.origin}}},c=o,l=n("2877"),u=Object(l["a"])(c,i,a,!1,null,null,null);t["a"]=u.exports},fe08:function(e,t,n){"use strict";n("a7d8")},fe1c:function(e,t,n){"use strict";n("81c0")}}]);
\ No newline at end of file
--- /dev/null
+/*!
+ * This source file is part of the Swift.org open source project
+ *
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ *
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["highlight-js-bash"],{f0f8:function(e,s){function t(e){const s=e.regex,t={},n={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[t]}]};Object.assign(t,{className:"variable",variants:[{begin:s.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},n]});const a={className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},i={begin:/<<-?\s*(?=\w+)/,starts:{contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},c={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,t,a]};a.contains.push(c);const o={className:"",begin:/\\"/},r={className:"string",begin:/'/,end:/'/},l={begin:/\$\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,t]},p=["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"],d=e.SHEBANG({binary:`(${p.join("|")})`,relevance:10}),h={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},m=["if","then","else","elif","fi","for","while","in","do","done","case","esac","function"],u=["true","false"],b={match:/(\/[a-z._-]+)+/},g=["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset"],f=["alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","type","typeset","ulimit","unalias"],w=["autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp"],k=["chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"];return{name:"Bash",aliases:["sh"],keywords:{$pattern:/\b[a-z._-]+\b/,keyword:m,literal:u,built_in:[...g,...f,"set","shopt",...w,...k]},contains:[d,e.SHEBANG(),h,l,e.HASH_COMMENT_MODE,i,b,c,o,r,t]}}e.exports=t}}]);
\ No newline at end of file
--- /dev/null
+/*!
+ * This source file is part of the Swift.org open source project
+ *
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ *
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["highlight-js-c"],{"1fe5":function(e,n){function s(e){const n=e.regex,s=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),t="decltype\\(auto\\)",a="[a-zA-Z_]\\w*::",i="<[^<>]+>",r="("+t+"|"+n.optional(a)+"[a-zA-Z_]\\w*"+n.optional(i)+")",l={className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{match:/\batomic_[a-z]{3,6}\b/}]},o="\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)",c={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+o+"|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},d={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},u={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(c,{className:"string"}),{className:"string",begin:/<.*?>/},s,e.C_BLOCK_COMMENT_MODE]},g={className:"title",begin:n.optional(a)+e.IDENT_RE,relevance:0},p=n.optional(a)+e.IDENT_RE+"\\s*\\(",m=["asm","auto","break","case","continue","default","do","else","enum","extern","for","fortran","goto","if","inline","register","restrict","return","sizeof","struct","switch","typedef","union","volatile","while","_Alignas","_Alignof","_Atomic","_Generic","_Noreturn","_Static_assert","_Thread_local","alignas","alignof","noreturn","static_assert","thread_local","_Pragma"],_=["float","double","signed","unsigned","int","short","long","char","void","_Bool","_Complex","_Imaginary","_Decimal32","_Decimal64","_Decimal128","const","static","complex","bool","imaginary"],f={keyword:m,type:_,literal:"true false NULL",built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr"},b=[u,l,s,e.C_BLOCK_COMMENT_MODE,d,c],w={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:f,contains:b.concat([{begin:/\(/,end:/\)/,keywords:f,contains:b.concat(["self"]),relevance:0}]),relevance:0},h={begin:"("+r+"[\\*&\\s]+)+"+p,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:f,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:t,keywords:f,relevance:0},{begin:p,returnBegin:!0,contains:[e.inherit(g,{className:"title.function"})],relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:f,relevance:0,contains:[s,e.C_BLOCK_COMMENT_MODE,c,d,l,{begin:/\(/,end:/\)/,keywords:f,relevance:0,contains:["self",s,e.C_BLOCK_COMMENT_MODE,c,d,l]}]},l,s,e.C_BLOCK_COMMENT_MODE,u]};return{name:"C",aliases:["h"],keywords:f,disableAutodetect:!0,illegal:"</",contains:[].concat(w,h,b,[u,{begin:e.IDENT_RE+"::",keywords:f},{className:"class",beginKeywords:"enum class struct union",end:/[{;:<>=]/,contains:[{beginKeywords:"final class struct"},e.TITLE_MODE]}]),exports:{preprocessor:u,strings:c,keywords:f}}}e.exports=s}}]);
\ No newline at end of file
--- /dev/null
+/*!
+ * This source file is part of the Swift.org open source project
+ *
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ *
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["highlight-js-cpp"],{"0209":function(e,t){function n(e){const t=e.regex,n=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),a="decltype\\(auto\\)",i="[a-zA-Z_]\\w*::",r="<[^<>]+>",s="(?!struct)("+a+"|"+t.optional(i)+"[a-zA-Z_]\\w*"+t.optional(r)+")",c={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},o="\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)",l={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+o+"|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},d={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},u={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(l,{className:"string"}),{className:"string",begin:/<.*?>/},n,e.C_BLOCK_COMMENT_MODE]},p={className:"title",begin:t.optional(i)+e.IDENT_RE,relevance:0},_=t.optional(i)+e.IDENT_RE+"\\s*\\(",m=["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],g=["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],f=["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"],b=["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"],h=["NULL","false","nullopt","nullptr","true"],w=["_Pragma"],y={type:g,keyword:m,literal:h,built_in:w,_type_hints:f},v={className:"function.dispatch",relevance:0,keywords:{_hint:b},begin:t.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,e.IDENT_RE,t.lookahead(/(<[^<>]+>|)\s*\(/))},k=[v,u,c,n,e.C_BLOCK_COMMENT_MODE,d,l],x={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:y,contains:k.concat([{begin:/\(/,end:/\)/,keywords:y,contains:k.concat(["self"]),relevance:0}]),relevance:0},E={className:"function",begin:"("+s+"[\\*&\\s]+)+"+_,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:y,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:a,keywords:y,relevance:0},{begin:_,returnBegin:!0,contains:[p],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[l,d]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:y,relevance:0,contains:[n,e.C_BLOCK_COMMENT_MODE,l,d,c,{begin:/\(/,end:/\)/,keywords:y,relevance:0,contains:["self",n,e.C_BLOCK_COMMENT_MODE,l,d,c]}]},c,n,e.C_BLOCK_COMMENT_MODE,u]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:y,illegal:"</",classNameAliases:{"function.dispatch":"built_in"},contains:[].concat(x,E,v,k,[u,{begin:"\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function)\\s*<",end:">",keywords:y,contains:["self",c]},{begin:e.IDENT_RE+"::",keywords:y},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}e.exports=n}}]);
\ No newline at end of file
--- /dev/null
+/*!
+ * This source file is part of the Swift.org open source project
+ *
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ *
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["highlight-js-css"],{ee8c:function(e,t){const o=e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z][A-Za-z0-9_-]*/}}),i=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],r=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"],a=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"],n=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],l=["align-content","align-items","align-self","all","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","backface-visibility","background","background-attachment","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","content-visibility","counter-increment","counter-reset","cue","cue-after","cue-before","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-synthesis","font-variant","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","isolation","justify-content","left","letter-spacing","line-break","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","max-height","max-width","min-height","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","pause","pause-after","pause-before","perspective","perspective-origin","pointer-events","position","quotes","resize","rest","rest-after","rest-before","right","row-gap","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","shape-image-threshold","shape-margin","shape-outside","speak","speak-as","src","tab-size","table-layout","text-align","text-align-all","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-box","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index"].reverse();function s(e){const t=e.regex,s=o(e),d={begin:/-(webkit|moz|ms|o)-(?=[a-z])/},c="and or not only",g=/@-?\w[\w]*(-\w+)*/,m="[a-zA-Z-][a-zA-Z0-9_-]*",p=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[s.BLOCK_COMMENT,d,s.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\."+m,relevance:0},s.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+a.join("|")+")"},{begin:":(:)?("+n.join("|")+")"}]},s.CSS_VARIABLE,{className:"attribute",begin:"\\b("+l.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[s.BLOCK_COMMENT,s.HEXCOLOR,s.IMPORTANT,s.CSS_NUMBER_MODE,...p,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},s.FUNCTION_DISPATCH]},{begin:t.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:g},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:c,attribute:r.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...p,s.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+i.join("|")+")\\b"}]}}e.exports=s}}]);
\ No newline at end of file
--- /dev/null
+/*!
+ * This source file is part of the Swift.org open source project
+ *
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ *
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["highlight-js-custom-markdown","highlight-js-markdown"],{"04b0":function(n,e){function a(n){const e=n.regex,a={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},i={begin:"^[-\\*]{3,}",end:"$"},s={className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},t={className:"bullet",begin:"^[ \t]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},c={begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},d=/[A-Za-z][A-Za-z0-9+.-]*/,l={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:e.concat(/\[.+?\]\(/,d,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},g={className:"strong",contains:[],variants:[{begin:/_{2}/,end:/_{2}/},{begin:/\*{2}/,end:/\*{2}/}]},o={className:"emphasis",contains:[],variants:[{begin:/\*(?!\*)/,end:/\*/},{begin:/_(?!_)/,end:/_/,relevance:0}]};g.contains.push(o),o.contains.push(g);let r=[a,l];g.contains=g.contains.concat(r),o.contains=o.contains.concat(r),r=r.concat(g,o);const b={className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:r},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:r}]}]},u={className:"quote",begin:"^>\\s+",contains:r,end:"$"};return{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[b,a,t,g,o,u,s,i,l,c]}}n.exports=a},"84cb":function(n,e,a){"use strict";a.r(e);var i=a("04b0"),s=a.n(i);const t={begin:"<doc:",end:">",returnBegin:!0,contains:[{className:"link",begin:"doc:",end:">",excludeEnd:!0}]},c={className:"link",begin:/`{2}(?!`)/,end:/`{2}(?!`)/,excludeBegin:!0,excludeEnd:!0},d={begin:"^>\\s+[Note:|Tip:|Important:|Experiment:|Warning:]",end:"$",returnBegin:!0,contains:[{className:"quote",begin:"^>",end:"\\s+"},{className:"type",begin:"Note|Tip|Important|Experiment|Warning",end:":"},{className:"quote",begin:".*",end:"$",endsParent:!0}]},l={begin:"@",end:"[{\\)\\s]",returnBegin:!0,contains:[{className:"title",begin:"@",end:"[\\s+(]",excludeEnd:!0},{begin:":",end:"[,\\)\n\t]",excludeBegin:!0,keywords:{literal:"true false null undefined"},contains:[{className:"number",begin:"\\b([\\d_]+(\\.[\\deE_]+)?|0x[a-fA-F0-9_]+(\\.[a-fA-F0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\b",endsWithParent:!0,excludeEnd:!0},{className:"string",variants:[{begin:/"""/,end:/"""/},{begin:/"/,end:/"/}],endsParent:!0},{className:"link",begin:"http|https",endsWithParent:!0,excludeEnd:!0}]}]};e["default"]=function(n){const e=s()(n),a=e.contains.find(({className:n})=>"code"===n);a.variants=a.variants.filter(({begin:n})=>!n.includes("( {4}|\\t)"));const i=[...e.contains.filter(({className:n})=>"code"!==n),a];return{...e,contains:[c,t,d,l,...i]}}}}]);
\ No newline at end of file
--- /dev/null
+/*!
+ * This source file is part of the Swift.org open source project
+ *
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ *
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["highlight-js-custom-swift","highlight-js-swift"],{"2a39":function(e,n){function t(e){return e?"string"===typeof e?e:e.source:null}function a(e){return i("(?=",e,")")}function i(...e){const n=e.map(e=>t(e)).join("");return n}function s(e){const n=e[e.length-1];return"object"===typeof n&&n.constructor===Object?(e.splice(e.length-1,1),n):{}}function c(...e){const n=s(e),a="("+(n.capture?"":"?:")+e.map(e=>t(e)).join("|")+")";return a}const u=e=>i(/\b/,e,/\w$/.test(e)?/\b/:/\B/),o=["Protocol","Type"].map(u),r=["init","self"].map(u),l=["Any","Self"],m=["actor","associatedtype","async","await",/as\?/,/as!/,"as","break","case","catch","class","continue","convenience","default","defer","deinit","didSet","do","dynamic","else","enum","extension","fallthrough",/fileprivate\(set\)/,"fileprivate","final","for","func","get","guard","if","import","indirect","infix",/init\?/,/init!/,"inout",/internal\(set\)/,"internal","in","is","isolated","nonisolated","lazy","let","mutating","nonmutating",/open\(set\)/,"open","operator","optional","override","postfix","precedencegroup","prefix",/private\(set\)/,"private","protocol",/public\(set\)/,"public","repeat","required","rethrows","return","set","some","static","struct","subscript","super","switch","throws","throw",/try\?/,/try!/,"try","typealias",/unowned\(safe\)/,/unowned\(unsafe\)/,"unowned","var","weak","where","while","willSet"],d=["false","nil","true"],p=["assignment","associativity","higherThan","left","lowerThan","none","right"],F=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warn_unqualified_access","#warning"],b=["abs","all","any","assert","assertionFailure","debugPrint","dump","fatalError","getVaList","isKnownUniquelyReferenced","max","min","numericCast","pointwiseMax","pointwiseMin","precondition","preconditionFailure","print","readLine","repeatElement","sequence","stride","swap","swift_unboxFromSwiftValueWithType","transcode","type","unsafeBitCast","unsafeDowncast","withExtendedLifetime","withUnsafeMutablePointer","withUnsafePointer","withVaList","withoutActuallyEscaping","zip"],f=c(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),h=c(f,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),w=i(f,h,"*"),y=c(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),g=c(y,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),E=i(y,g,"*"),v=i(/[A-Z]/,g,"*"),A=["autoclosure",i(/convention\(/,c("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",i(/objc\(/,E,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","testable","UIApplicationMain","unknown","usableFromInline"],N=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"];function k(e){const n={match:/\s+/,relevance:0},t=e.COMMENT("/\\*","\\*/",{contains:["self"]}),s=[e.C_LINE_COMMENT_MODE,t],f={match:[/\./,c(...o,...r)],className:{2:"keyword"}},y={match:i(/\./,c(...m)),relevance:0},k=m.filter(e=>"string"===typeof e).concat(["_|0"]),C=m.filter(e=>"string"!==typeof e).concat(l).map(u),D={variants:[{className:"keyword",match:c(...C,...r)}]},B={$pattern:c(/\b\w+/,/#\w+/),keyword:k.concat(F),literal:d},_=[f,y,D],S={match:i(/\./,c(...b)),relevance:0},x={className:"built_in",match:i(/\b/,c(...b),/(?=\()/)},M=[S,x],I={match:/->/,relevance:0},$={className:"operator",relevance:0,variants:[{match:w},{match:`\\.(\\.|${h})+`}]},O=[I,$],L="([0-9]_*)+",T="([0-9a-fA-F]_*)+",j={className:"number",relevance:0,variants:[{match:`\\b(${L})(\\.(${L}))?([eE][+-]?(${L}))?\\b`},{match:`\\b0x(${T})(\\.(${T}))?([pP][+-]?(${L}))?\\b`},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},K=(e="")=>({className:"subst",variants:[{match:i(/\\/,e,/[0\\tnr"']/)},{match:i(/\\/,e,/u\{[0-9a-fA-F]{1,8}\}/)}]}),P=(e="")=>({className:"subst",match:i(/\\/,e,/[\t ]*(?:[\r\n]|\r\n)/)}),z=(e="")=>({className:"subst",label:"interpol",begin:i(/\\/,e,/\(/),end:/\)/}),q=(e="")=>({begin:i(e,/"""/),end:i(/"""/,e),contains:[K(e),P(e),z(e)]}),U=(e="")=>({begin:i(e,/"/),end:i(/"/,e),contains:[K(e),z(e)]}),Z={className:"string",variants:[q(),q("#"),q("##"),q("###"),U(),U("#"),U("##"),U("###")]},V={match:i(/`/,E,/`/)},W={className:"variable",match:/\$\d+/},G={className:"variable",match:`\\$${g}+`},J=[V,W,G],R={match:/(@|#)available/,className:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:N,contains:[...O,j,Z]}]}},X={className:"keyword",match:i(/@/,c(...A))},H={className:"meta",match:i(/@/,E)},Q=[R,X,H],Y={match:a(/\b[A-Z]/),relevance:0,contains:[{className:"type",match:i(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,g,"+")},{className:"type",match:v,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:i(/\s+&\s+/,a(v)),relevance:0}]},ee={begin:/</,end:/>/,keywords:B,contains:[...s,..._,...Q,I,Y]};Y.contains.push(ee);const ne={match:i(E,/\s*:/),keywords:"_|0",relevance:0},te={begin:/\(/,end:/\)/,relevance:0,keywords:B,contains:["self",ne,...s,..._,...M,...O,j,Z,...J,...Q,Y]},ae={begin:/</,end:/>/,contains:[...s,Y]},ie={begin:c(a(i(E,/\s*:/)),a(i(E,/\s+/,E,/\s*:/))),end:/:/,relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:E}]},se={begin:/\(/,end:/\)/,keywords:B,contains:[ie,...s,..._,...O,j,Z,...Q,Y,te],endsParent:!0,illegal:/["']/},ce={match:[/func/,/\s+/,c(V.match,E,w)],className:{1:"keyword",3:"title.function"},contains:[ae,se,n],illegal:[/\[/,/%/]},ue={match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"},contains:[ae,se,n],illegal:/\[|%/},oe={match:[/operator/,/\s+/,w],className:{1:"keyword",3:"title"}},re={begin:[/precedencegroup/,/\s+/,v],className:{1:"keyword",3:"title"},contains:[Y],keywords:[...p,...d],end:/}/};for(const a of Z.variants){const e=a.contains.find(e=>"interpol"===e.label);e.keywords=B;const n=[..._,...M,...O,j,Z,...J];e.contains=[...n,{begin:/\(/,end:/\)/,contains:["self",...n]}]}return{name:"Swift",keywords:B,contains:[...s,ce,ue,{beginKeywords:"struct protocol class extension enum actor",end:"\\{",excludeEnd:!0,keywords:B,contains:[e.inherit(e.TITLE_MODE,{className:"title.class",begin:/[A-Za-z$_][\u00C0-\u02B80-9A-Za-z$_]*/}),..._]},oe,re,{beginKeywords:"import",end:/$/,contains:[...s],relevance:0},..._,...M,...O,j,Z,...J,...Q,Y,te]}}e.exports=k},"81c8":function(e,n,t){"use strict";t.r(n);var a=t("2a39"),i=t.n(a);n["default"]=function(e){const n=i()(e);n.keywords.keyword=[...n.keywords.keyword,"distributed"];const t=({beginKeywords:e=""})=>e.split(" ").includes("class"),a=n.contains.findIndex(t);if(a>=0){const{beginKeywords:e,...t}=n.contains[a];n.contains[a]={...t,begin:/\b(struct|protocol|extension|enum|actor|class\b(?!.*\bfunc))\b/}}return n}}}]);
\ No newline at end of file
--- /dev/null
+/*!
+ * This source file is part of the Swift.org open source project
+ *
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ *
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["highlight-js-diff"],{"48b8":function(e,n){function a(e){const n=e.regex;return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,match:n.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/)},{className:"comment",variants:[{begin:n.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/),end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/,end:/$/}]}}e.exports=a}}]);
\ No newline at end of file
--- /dev/null
+/*!
+ * This source file is part of the Swift.org open source project
+ *
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ *
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["highlight-js-http"],{c01d:function(e,n){function a(e){const n=e.regex,a="HTTP/(2|1\\.[01])",s=/[A-Za-z][A-Za-z0-9-]*/,t={className:"attribute",begin:n.concat("^",s,"(?=\\:\\s)"),starts:{contains:[{className:"punctuation",begin:/: /,relevance:0,starts:{end:"$",relevance:0}}]}},i=[t,{begin:"\\n\\n",starts:{subLanguage:[],endsWithParent:!0}}];return{name:"HTTP",aliases:["https"],illegal:/\S/,contains:[{begin:"^(?="+a+" \\d{3})",end:/$/,contains:[{className:"meta",begin:a},{className:"number",begin:"\\b\\d{3}\\b"}],starts:{end:/\b\B/,illegal:/\S/,contains:i}},{begin:"(?=^[A-Z]+ (.*?) "+a+"$)",end:/$/,contains:[{className:"string",begin:" ",end:" ",excludeBegin:!0,excludeEnd:!0},{className:"meta",begin:a},{className:"keyword",begin:"[A-Z]+"}],starts:{end:/\b\B/,illegal:/\S/,contains:i}},e.inherit(t,{relevance:0})]}}e.exports=a}}]);
\ No newline at end of file
--- /dev/null
+/*!
+ * This source file is part of the Swift.org open source project
+ *
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ *
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["highlight-js-java"],{"332f":function(e,a){var n="[0-9](_*[0-9])*",s=`\\.(${n})`,i="[0-9a-fA-F](_*[0-9a-fA-F])*",t={className:"number",variants:[{begin:`(\\b(${n})((${s})|\\.)?|(${s}))[eE][+-]?(${n})[fFdD]?\\b`},{begin:`\\b(${n})((${s})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${s})[fFdD]?\\b`},{begin:`\\b(${n})[fFdD]\\b`},{begin:`\\b0[xX]((${i})\\.?|(${i})?\\.(${i}))[pP][+-]?(${n})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${i})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function r(e,a,n){return-1===n?"":e.replace(a,s=>r(e,a,n-1))}function c(e){e.regex;const a="[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",n=a+r("(?:<"+a+"~~~(?:\\s*,\\s*"+a+"~~~)*>)?",/~~~/g,2),s=["synchronized","abstract","private","var","static","if","const ","for","while","strictfp","finally","protected","import","native","final","void","enum","else","break","transient","catch","instanceof","volatile","case","assert","package","default","public","try","switch","continue","throws","protected","public","private","module","requires","exports","do"],i=["super","this"],c=["false","true","null"],l=["char","boolean","long","float","int","byte","short","double"],o={keyword:s,literal:c,type:l,built_in:i},b={className:"meta",begin:"@"+a,contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},_={className:"params",begin:/\(/,end:/\)/,keywords:o,relevance:0,contains:[e.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:"Java",aliases:["jsp"],keywords:o,illegal:/<\/|#/,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{begin:/import java\.[a-z]+\./,keywords:"import",relevance:2},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/,className:"string",contains:[e.BACKSLASH_ESCAPE]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,a],className:{1:"keyword",3:"title.class"}},{begin:[a,/\s+/,a,/\s+/,/=/],className:{1:"type",3:"variable",5:"operator"}},{begin:[/record/,/\s+/,a],className:{1:"keyword",3:"title.class"},contains:[_,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"new throw return else",relevance:0},{begin:["(?:"+n+"\\s+)",e.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{2:"title.function"},keywords:o,contains:[{className:"params",begin:/\(/,end:/\)/,keywords:o,relevance:0,contains:[b,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,t,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},t,b]}}e.exports=c}}]);
\ No newline at end of file
--- /dev/null
+/*!
+ * This source file is part of the Swift.org open source project
+ *
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ *
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["highlight-js-javascript"],{"4dd1":function(e,n){const a="[A-Za-z$_][0-9A-Za-z$_]*",t=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],s=["true","false","null","undefined","NaN","Infinity"],c=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],r=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],i=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],o=["arguments","this","super","console","window","document","localStorage","module","global"],l=[].concat(i,c,r);function b(e){const n=e.regex,b=(e,{after:n})=>{const a="</"+e[0].slice(1),t=e.input.indexOf(a,n);return-1!==t},d=a,g={begin:"<>",end:"</>"},u=/<[A-Za-z0-9\\._:-]+\s*\/>/,m={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(e,n)=>{const a=e[0].length+e.index,t=e.input[a];if("<"===t||","===t)return void n.ignoreMatch();let s;">"===t&&(b(e,{after:a})||n.ignoreMatch());const c=e.input.substr(a);(s=c.match(/^\s+extends\s+/))&&0===s.index&&n.ignoreMatch()}},E={$pattern:a,keyword:t,literal:s,built_in:l,"variable.language":o},A="[0-9](_?[0-9])*",y=`\\.(${A})`,N="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",f={className:"number",variants:[{begin:`(\\b(${N})((${y})|\\.)?|(${y}))[eE][+-]?(${A})\\b`},{begin:`\\b(${N})\\b((${y})\\b|\\.)?|(${y})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},h={className:"subst",begin:"\\$\\{",end:"\\}",keywords:E,contains:[]},_={begin:"html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,h],subLanguage:"xml"}},p={begin:"css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,h],subLanguage:"css"}},v={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,h]},w=e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:d+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),S={className:"comment",variants:[w,e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},R=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,_,p,v,f];h.contains=R.concat({begin:/\{/,end:/\}/,keywords:E,contains:["self"].concat(R)});const k=[].concat(S,h.contains),O=k.concat([{begin:/\(/,end:/\)/,keywords:E,contains:["self"].concat(k)}]),I={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:E,contains:O},x={variants:[{match:[/class/,/\s+/,d,/\s+/,/extends/,/\s+/,n.concat(d,"(",n.concat(/\./,d),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,d],scope:{1:"keyword",3:"title.class"}}]},T={relevance:0,match:n.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]+|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+/),className:"title.class",keywords:{_:[...c,...r]}},C={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},M={variants:[{match:[/function/,/\s+/,d,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[I],illegal:/%/},B={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function $(e){return n.concat("(?!",e.join("|"),")")}const D={match:n.concat(/\b/,$([...i,"super"]),d,n.lookahead(/\(/)),className:"title.function",relevance:0},U={begin:n.concat(/\./,n.lookahead(n.concat(d,/(?![0-9A-Za-z$_(])/))),end:d,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},Z={match:[/get|set/,/\s+/,d,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},I]},z="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",F={match:[/const|var|let/,/\s+/,d,/\s*/,/=\s*/,n.lookahead(z)],className:{1:"keyword",3:"title.function"},contains:[I]};return{name:"Javascript",aliases:["js","jsx","mjs","cjs"],keywords:E,exports:{PARAMS_CONTAINS:O,CLASS_REFERENCE:T},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),C,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,_,p,v,S,f,T,{className:"attr",begin:d+n.lookahead(":"),relevance:0},F,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[S,e.REGEXP_MODE,{className:"function",begin:z,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:E,contains:O}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:g.begin,end:g.end},{match:u},{begin:m.begin,"on:begin":m.isTrulyOpeningTag,end:m.end}],subLanguage:"xml",contains:[{begin:m.begin,end:m.end,skip:!0,contains:["self"]}]}]},M,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[I,e.inherit(e.TITLE_MODE,{begin:d,className:"title.function"})]},{match:/\.\.\./,relevance:0},U,{match:"\\$"+d,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[I]},D,B,x,Z,{match:/\$[(.]/}]}}e.exports=b}}]);
\ No newline at end of file
--- /dev/null
+/*!
+ * This source file is part of the Swift.org open source project
+ *
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ *
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["highlight-js-json"],{"5ad2":function(n,e){function a(n){const e={className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},a={match:/[{}[\],:]/,className:"punctuation",relevance:0},s={beginKeywords:["true","false","null"].join(" ")};return{name:"JSON",contains:[e,a,n.QUOTE_STRING_MODE,s,n.C_NUMBER_MODE,n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}n.exports=a}}]);
\ No newline at end of file
--- /dev/null
+/*!
+ * This source file is part of the Swift.org open source project
+ *
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ *
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["highlight-js-llvm"],{"7c30":function(e,n){function a(e){const n=e.regex,a=/([-a-zA-Z$._][\w$.-]*)/,t={className:"type",begin:/\bi\d+(?=\s|\b)/},i={className:"operator",relevance:0,begin:/=/},c={className:"punctuation",relevance:0,begin:/,/},l={className:"number",variants:[{begin:/0[xX][a-fA-F0-9]+/},{begin:/-?\d+(?:[.]\d+)?(?:[eE][-+]?\d+(?:[.]\d+)?)?/}],relevance:0},r={className:"symbol",variants:[{begin:/^\s*[a-z]+:/}],relevance:0},s={className:"variable",variants:[{begin:n.concat(/%/,a)},{begin:/%\d+/},{begin:/#\d+/}]},o={className:"title",variants:[{begin:n.concat(/@/,a)},{begin:/@\d+/},{begin:n.concat(/!/,a)},{begin:n.concat(/!\d+/,a)},{begin:/!\d+/}]};return{name:"LLVM IR",keywords:"begin end true false declare define global constant private linker_private internal available_externally linkonce linkonce_odr weak weak_odr appending dllimport dllexport common default hidden protected extern_weak external thread_local zeroinitializer undef null to tail target triple datalayout volatile nuw nsw nnan ninf nsz arcp fast exact inbounds align addrspace section alias module asm sideeffect gc dbg linker_private_weak attributes blockaddress initialexec localdynamic localexec prefix unnamed_addr ccc fastcc coldcc x86_stdcallcc x86_fastcallcc arm_apcscc arm_aapcscc arm_aapcs_vfpcc ptx_device ptx_kernel intel_ocl_bicc msp430_intrcc spir_func spir_kernel x86_64_sysvcc x86_64_win64cc x86_thiscallcc cc c signext zeroext inreg sret nounwind noreturn noalias nocapture byval nest readnone readonly inlinehint noinline alwaysinline optsize ssp sspreq noredzone noimplicitfloat naked builtin cold nobuiltin noduplicate nonlazybind optnone returns_twice sanitize_address sanitize_memory sanitize_thread sspstrong uwtable returned type opaque eq ne slt sgt sle sge ult ugt ule uge oeq one olt ogt ole oge ord uno ueq une x acq_rel acquire alignstack atomic catch cleanup filter inteldialect max min monotonic nand personality release seq_cst singlethread umax umin unordered xchg add fadd sub fsub mul fmul udiv sdiv fdiv urem srem frem shl lshr ashr and or xor icmp fcmp phi call trunc zext sext fptrunc fpext uitofp sitofp fptoui fptosi inttoptr ptrtoint bitcast addrspacecast select va_arg ret br switch invoke unwind unreachable indirectbr landingpad resume malloc alloca free load store getelementptr extractelement insertelement shufflevector getresult extractvalue insertvalue atomicrmw cmpxchg fence argmemonly double",contains:[t,e.COMMENT(/;\s*$/,null,{relevance:0}),e.COMMENT(/;/,/$/),e.QUOTE_STRING_MODE,{className:"string",variants:[{begin:/"/,end:/[^\\]"/}]},o,c,i,s,r,l]}}e.exports=a}}]);
\ No newline at end of file
--- /dev/null
+/*!
+ * This source file is part of the Swift.org open source project
+ *
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ *
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["highlight-js-markdown"],{"04b0":function(n,e){function a(n){const e=n.regex,a={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},i={begin:"^[-\\*]{3,}",end:"$"},s={className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},c={className:"bullet",begin:"^[ \t]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},t={begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},g=/[A-Za-z][A-Za-z0-9+.-]*/,d={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:e.concat(/\[.+?\]\(/,g,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},l={className:"strong",contains:[],variants:[{begin:/_{2}/,end:/_{2}/},{begin:/\*{2}/,end:/\*{2}/}]},o={className:"emphasis",contains:[],variants:[{begin:/\*(?!\*)/,end:/\*/},{begin:/_(?!_)/,end:/_/,relevance:0}]};l.contains.push(o),o.contains.push(l);let b=[a,d];l.contains=l.contains.concat(b),o.contains=o.contains.concat(b),b=b.concat(l,o);const r={className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:b},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:b}]}]},m={className:"quote",begin:"^>\\s+",contains:b,end:"$"};return{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[r,a,c,l,o,m,s,i,d,t]}}n.exports=a}}]);
\ No newline at end of file
--- /dev/null
+/*!
+ * This source file is part of the Swift.org open source project
+ *
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ *
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["highlight-js-objectivec"],{"9bf2":function(e,n){function _(e){const n={className:"built_in",begin:"\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+"},_=/[a-zA-Z@][a-zA-Z0-9_]*/,i=["int","float","while","char","export","sizeof","typedef","const","struct","for","union","unsigned","long","volatile","static","bool","mutable","if","do","return","goto","void","enum","else","break","extern","asm","case","short","default","double","register","explicit","signed","typename","this","switch","continue","wchar_t","inline","readonly","assign","readwrite","self","@synchronized","id","typeof","nonatomic","super","unichar","IBOutlet","IBAction","strong","weak","copy","in","out","inout","bycopy","byref","oneway","__strong","__weak","__block","__autoreleasing","@private","@protected","@public","@try","@property","@end","@throw","@catch","@finally","@autoreleasepool","@synthesize","@dynamic","@selector","@optional","@required","@encode","@package","@import","@defs","@compatibility_alias","__bridge","__bridge_transfer","__bridge_retained","__bridge_retain","__covariant","__contravariant","__kindof","_Nonnull","_Nullable","_Null_unspecified","__FUNCTION__","__PRETTY_FUNCTION__","__attribute__","getter","setter","retain","unsafe_unretained","nonnull","nullable","null_unspecified","null_resettable","class","instancetype","NS_DESIGNATED_INITIALIZER","NS_UNAVAILABLE","NS_REQUIRES_SUPER","NS_RETURNS_INNER_POINTER","NS_INLINE","NS_AVAILABLE","NS_DEPRECATED","NS_ENUM","NS_OPTIONS","NS_SWIFT_UNAVAILABLE","NS_ASSUME_NONNULL_BEGIN","NS_ASSUME_NONNULL_END","NS_REFINED_FOR_SWIFT","NS_SWIFT_NAME","NS_SWIFT_NOTHROW","NS_DURING","NS_HANDLER","NS_ENDHANDLER","NS_VALUERETURN","NS_VOIDRETURN"],t=["false","true","FALSE","TRUE","nil","YES","NO","NULL"],a=["BOOL","dispatch_once_t","dispatch_queue_t","dispatch_sync","dispatch_async","dispatch_once"],o={$pattern:_,keyword:i,literal:t,built_in:a},s={$pattern:_,keyword:["@interface","@class","@protocol","@implementation"]};return{name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"],keywords:o,illegal:"</",contains:[n,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.C_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{className:"string",variants:[{begin:'@"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]}]},{className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),{className:"string",begin:/<.*?>/,end:/$/,illegal:"\\n"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+s.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:s,contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"\\."+e.UNDERSCORE_IDENT_RE,relevance:0}]}}e.exports=_}}]);
\ No newline at end of file
--- /dev/null
+/*!
+ * This source file is part of the Swift.org open source project
+ *
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ *
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["highlight-js-perl"],{"6a51":function(e,n){function t(e){const n=e.regex,t=["abs","accept","alarm","and","atan2","bind","binmode","bless","break","caller","chdir","chmod","chomp","chop","chown","chr","chroot","close","closedir","connect","continue","cos","crypt","dbmclose","dbmopen","defined","delete","die","do","dump","each","else","elsif","endgrent","endhostent","endnetent","endprotoent","endpwent","endservent","eof","eval","exec","exists","exit","exp","fcntl","fileno","flock","for","foreach","fork","format","formline","getc","getgrent","getgrgid","getgrnam","gethostbyaddr","gethostbyname","gethostent","getlogin","getnetbyaddr","getnetbyname","getnetent","getpeername","getpgrp","getpriority","getprotobyname","getprotobynumber","getprotoent","getpwent","getpwnam","getpwuid","getservbyname","getservbyport","getservent","getsockname","getsockopt","given","glob","gmtime","goto","grep","gt","hex","if","index","int","ioctl","join","keys","kill","last","lc","lcfirst","length","link","listen","local","localtime","log","lstat","lt","ma","map","mkdir","msgctl","msgget","msgrcv","msgsnd","my","ne","next","no","not","oct","open","opendir","or","ord","our","pack","package","pipe","pop","pos","print","printf","prototype","push","q|0","qq","quotemeta","qw","qx","rand","read","readdir","readline","readlink","readpipe","recv","redo","ref","rename","require","reset","return","reverse","rewinddir","rindex","rmdir","say","scalar","seek","seekdir","select","semctl","semget","semop","send","setgrent","sethostent","setnetent","setpgrp","setpriority","setprotoent","setpwent","setservent","setsockopt","shift","shmctl","shmget","shmread","shmwrite","shutdown","sin","sleep","socket","socketpair","sort","splice","split","sprintf","sqrt","srand","stat","state","study","sub","substr","symlink","syscall","sysopen","sysread","sysseek","system","syswrite","tell","telldir","tie","tied","time","times","tr","truncate","uc","ucfirst","umask","undef","unless","unlink","unpack","unshift","untie","until","use","utime","values","vec","wait","waitpid","wantarray","warn","when","while","write","x|0","xor","y|0"],s=/[dualxmsipngr]{0,12}/,r={$pattern:/[\w.]+/,keyword:t.join(" ")},i={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:r},a={begin:/->\{/,end:/\}/},o={variants:[{begin:/\$\d/},{begin:n.concat(/[$%@](\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,"(?![A-Za-z])(?![@$%])")},{begin:/[$%@][^\s\w{]/,relevance:0}]},c=[e.BACKSLASH_ESCAPE,i,o],g=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],l=(e,t,r="\\1")=>{const i="\\1"===r?r:n.concat(r,t);return n.concat(n.concat("(?:",e,")"),t,/(?:\\.|[^\\\/])*?/,i,/(?:\\.|[^\\\/])*?/,r,s)},d=(e,t,r)=>n.concat(n.concat("(?:",e,")"),t,/(?:\\.|[^\\\/])*?/,r,s),p=[o,e.HASH_COMMENT_MODE,e.COMMENT(/^=\w/,/=cut/,{endsWithParent:!0}),a,{className:"string",contains:c,variants:[{begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[",end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*<",end:">",relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'",contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{begin:"-?\\w+\\s*=>",relevance:0}]},{className:"number",begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",relevance:0},{begin:"(\\/\\/|"+e.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[e.HASH_COMMENT_MODE,{className:"regexp",variants:[{begin:l("s|tr|y",n.either(...g,{capture:!0}))},{begin:l("s|tr|y","\\(","\\)")},{begin:l("s|tr|y","\\[","\\]")},{begin:l("s|tr|y","\\{","\\}")}],relevance:2},{className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{begin:d("(?:m|qr)?",/\//,/\//)},{begin:d("m|qr",n.either(...g,{capture:!0}),/\1/)},{begin:d("m|qr",/\(/,/\)/)},{begin:d("m|qr",/\[/,/\]/)},{begin:d("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return i.contains=p,a.contains=p,{name:"Perl",aliases:["pl","pm"],keywords:r,contains:p}}e.exports=t}}]);
\ No newline at end of file
--- /dev/null
+/*!
+ * This source file is part of the Swift.org open source project
+ *
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ *
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["highlight-js-php"],{2907:function(e,r){function t(e){const r={className:"variable",begin:"\\$+[a-zA-Z_\7f-ÿ][a-zA-Z0-9_\7f-ÿ]*(?![A-Za-z0-9])(?![$])"},t={className:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?[=]?/},{begin:/\?>/}]},a={className:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},n=e.inherit(e.APOS_STRING_MODE,{illegal:null}),i=e.inherit(e.QUOTE_STRING_MODE,{illegal:null,contains:e.QUOTE_STRING_MODE.contains.concat(a)}),o=e.END_SAME_AS_BEGIN({begin:/<<<[ \t]*(\w+)\n/,end:/[ \t]*(\w+)\b/,contains:e.QUOTE_STRING_MODE.contains.concat(a)}),l={className:"string",contains:[e.BACKSLASH_ESCAPE,t],variants:[e.inherit(n,{begin:"b'",end:"'"}),e.inherit(i,{begin:'b"',end:'"'}),i,n,o]},c={className:"number",variants:[{begin:"\\b0b[01]+(?:_[01]+)*\\b"},{begin:"\\b0o[0-7]+(?:_[0-7]+)*\\b"},{begin:"\\b0x[\\da-f]+(?:_[\\da-f]+)*\\b"},{begin:"(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:e[+-]?\\d+)?"}],relevance:0},s={keyword:"__CLASS__ __DIR__ __FILE__ __FUNCTION__ __LINE__ __METHOD__ __NAMESPACE__ __TRAIT__ die echo exit include include_once print require require_once array abstract and as binary bool boolean break callable case catch class clone const continue declare default do double else elseif empty enddeclare endfor endforeach endif endswitch endwhile enum eval extends final finally float for foreach from global goto if implements instanceof insteadof int integer interface isset iterable list match|0 mixed new object or private protected public real return string switch throw trait try unset use var void while xor yield",literal:"false null true",built_in:"Error|0 AppendIterator ArgumentCountError ArithmeticError ArrayIterator ArrayObject AssertionError BadFunctionCallException BadMethodCallException CachingIterator CallbackFilterIterator CompileError Countable DirectoryIterator DivisionByZeroError DomainException EmptyIterator ErrorException Exception FilesystemIterator FilterIterator GlobIterator InfiniteIterator InvalidArgumentException IteratorIterator LengthException LimitIterator LogicException MultipleIterator NoRewindIterator OutOfBoundsException OutOfRangeException OuterIterator OverflowException ParentIterator ParseError RangeException RecursiveArrayIterator RecursiveCachingIterator RecursiveCallbackFilterIterator RecursiveDirectoryIterator RecursiveFilterIterator RecursiveIterator RecursiveIteratorIterator RecursiveRegexIterator RecursiveTreeIterator RegexIterator RuntimeException SeekableIterator SplDoublyLinkedList SplFileInfo SplFileObject SplFixedArray SplHeap SplMaxHeap SplMinHeap SplObjectStorage SplObserver SplObserver SplPriorityQueue SplQueue SplStack SplSubject SplSubject SplTempFileObject TypeError UnderflowException UnexpectedValueException UnhandledMatchError ArrayAccess Closure Generator Iterator IteratorAggregate Serializable Stringable Throwable Traversable WeakReference WeakMap Directory __PHP_Incomplete_Class parent php_user_filter self static stdClass"};return{case_insensitive:!0,keywords:s,contains:[e.HASH_COMMENT_MODE,e.COMMENT("//","$",{contains:[t]}),e.COMMENT("/\\*","\\*/",{contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),e.COMMENT("__halt_compiler.+?;",!1,{endsWithParent:!0,keywords:"__halt_compiler"}),t,{className:"keyword",begin:/\$this\b/},r,{begin:/(::|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/},{className:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use"},e.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{className:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:s,contains:["self",r,e.C_BLOCK_COMMENT_MODE,l,c]}]},{className:"class",variants:[{beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait",illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/,contains:[e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"use",relevance:0,end:";",contains:[e.UNDERSCORE_TITLE_MODE]},l,c]}}e.exports=t}}]);
\ No newline at end of file
--- /dev/null
+/*!
+ * This source file is part of the Swift.org open source project
+ *
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ *
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["highlight-js-python"],{9510:function(e,n){function a(e){const n=e.regex,a=/[\p{XID_Start}_]\p{XID_Continue}*/u,i=["and","as","assert","async","await","break","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],s=["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],t=["__debug__","Ellipsis","False","None","NotImplemented","True"],r=["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"],l={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:i,built_in:s,literal:t,type:r},o={className:"meta",begin:/^(>>>|\.\.\.) /},b={className:"subst",begin:/\{/,end:/\}/,keywords:l,illegal:/#/},c={begin:/\{\{/,relevance:0},d={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,o],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,o],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,o,c,b]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,o,c,b]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[e.BACKSLASH_ESCAPE,c,b]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,c,b]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},p="[0-9](_?[0-9])*",g=`(\\b(${p}))?\\.(${p})|\\b(${p})\\.`,m={className:"number",relevance:0,variants:[{begin:`(\\b(${p})|(${g}))[eE][+-]?(${p})[jJ]?\\b`},{begin:`(${g})[jJ]?`},{begin:"\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?\\b"},{begin:"\\b0[bB](_?[01])+[lL]?\\b"},{begin:"\\b0[oO](_?[0-7])+[lL]?\\b"},{begin:"\\b0[xX](_?[0-9a-fA-F])+[lL]?\\b"},{begin:`\\b(${p})[jJ]\\b`}]},_={className:"comment",begin:n.lookahead(/# type:/),end:/$/,keywords:l,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},u={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:l,contains:["self",o,m,d,e.HASH_COMMENT_MODE]}]};return b.contains=[d,m,o],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:l,illegal:/(<\/|->|\?)|=>/,contains:[o,m,{begin:/\bself\b/},{beginKeywords:"if",relevance:0},d,_,e.HASH_COMMENT_MODE,{match:[/def/,/\s+/,a],scope:{1:"keyword",3:"title.function"},contains:[u]},{variants:[{match:[/class/,/\s+/,a,/\s*/,/\(\s*/,a,/\s*\)/]},{match:[/class/,/\s+/,a]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[m,u,d]}]}}e.exports=a}}]);
\ No newline at end of file
--- /dev/null
+/*!
+ * This source file is part of the Swift.org open source project
+ *
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ *
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["highlight-js-ruby"],{"82cb":function(e,n){function a(e){const n=e.regex,a="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",i={keyword:"and then defined module in return redo if BEGIN retry end for self when next until do begin unless END rescue else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor __FILE__",built_in:"proc lambda",literal:"true false nil"},s={className:"doctag",begin:"@[A-Za-z]+"},b={begin:"#<",end:">"},c=[e.COMMENT("#","$",{contains:[s]}),e.COMMENT("^=begin","^=end",{contains:[s],relevance:10}),e.COMMENT("^__END__","\\n$")],r={className:"subst",begin:/#\{/,end:/\}/,keywords:i},d={className:"string",contains:[e.BACKSLASH_ESCAPE,r],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?</,end:/>/},{begin:/%[qQwWx]?\//,end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{begin:n.concat(/<<[-~]?'?/,n.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)),contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[e.BACKSLASH_ESCAPE,r]})]}]},t="[1-9](_?[0-9])*|0",o="[0-9](_?[0-9])*",g={className:"number",relevance:0,variants:[{begin:`\\b(${t})(\\.(${o}))?([eE][+-]?(${o})|r)?i?\\b`},{begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{begin:"\\b0(_?[0-7])+r?i?\\b"}]},l={className:"params",begin:"\\(",end:"\\)",endsParent:!0,keywords:i},_=[d,{className:"class",beginKeywords:"class module",end:"$|;",illegal:/=/,contains:[e.inherit(e.TITLE_MODE,{begin:"[A-Za-z_]\\w*(::\\w+)*(\\?|!)?"}),{begin:"<\\s*",contains:[{begin:"("+e.IDENT_RE+"::)?"+e.IDENT_RE,relevance:0}]}].concat(c)},{className:"function",begin:n.concat(/def\s+/,n.lookahead(a+"\\s*(\\(|;|$)")),relevance:0,keywords:"def",end:"$|;",contains:[e.inherit(e.TITLE_MODE,{begin:a}),l].concat(c)},{begin:e.IDENT_RE+"::"},{className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[d,{begin:a}],relevance:0},g,{className:"variable",begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{className:"params",begin:/\|/,end:/\|/,relevance:0,keywords:i},{begin:"("+e.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[{className:"regexp",contains:[e.BACKSLASH_ESCAPE,r],illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}].concat(b,c),relevance:0}].concat(b,c);r.contains=_,l.contains=_;const w="[>?]>",E="[\\w#]+\\(\\w+\\):\\d+:\\d+>",u="(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>",N=[{begin:/^\s*=>/,starts:{end:"$",contains:_}},{className:"meta",begin:"^("+w+"|"+E+"|"+u+")(?=[ ])",starts:{end:"$",contains:_}}];return c.unshift(b),{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:i,illegal:/\/\*/,contains:[e.SHEBANG({binary:"ruby"})].concat(N).concat(c).concat(_)}}e.exports=a}}]);
\ No newline at end of file
--- /dev/null
+/*!
+ * This source file is part of the Swift.org open source project
+ *
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ *
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["highlight-js-scss"],{6113:function(e,t){const i=e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z][A-Za-z0-9_-]*/}}),o=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],r=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"],a=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"],n=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],l=["align-content","align-items","align-self","all","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","backface-visibility","background","background-attachment","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","content-visibility","counter-increment","counter-reset","cue","cue-after","cue-before","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-synthesis","font-variant","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","isolation","justify-content","left","letter-spacing","line-break","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","max-height","max-width","min-height","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","pause","pause-after","pause-before","perspective","perspective-origin","pointer-events","position","quotes","resize","rest","rest-after","rest-before","right","row-gap","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","shape-image-threshold","shape-margin","shape-outside","speak","speak-as","src","tab-size","table-layout","text-align","text-align-all","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-box","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index"].reverse();function s(e){const t=i(e),s=n,d=a,c="@[a-z-]+",p="and or not only",g="[a-zA-Z-][a-zA-Z0-9_-]*",m={className:"variable",begin:"(\\$"+g+")\\b"};return{name:"SCSS",case_insensitive:!0,illegal:"[=/|']",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,t.CSS_NUMBER_MODE,{className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag",begin:"\\b("+o.join("|")+")\\b",relevance:0},{className:"selector-pseudo",begin:":("+d.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+s.join("|")+")"},m,{begin:/\(/,end:/\)/,contains:[t.CSS_NUMBER_MODE]},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+l.join("|")+")\\b"},{begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{begin:/:/,end:/[;}{]/,contains:[t.BLOCK_COMMENT,m,t.HEXCOLOR,t.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,t.IMPORTANT]},{begin:"@(page|font-face)",keywords:{$pattern:c,keyword:"@page @font-face"}},{begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/,keyword:p,attribute:r.join(" ")},contains:[{begin:c,className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute"},m,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,t.HEXCOLOR,t.CSS_NUMBER_MODE]},t.FUNCTION_DISPATCH]}}e.exports=s}}]);
\ No newline at end of file
--- /dev/null
+/*!
+ * This source file is part of the Swift.org open source project
+ *
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ *
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["highlight-js-shell"],{b65b:function(s,n){function e(s){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}}s.exports=e}}]);
\ No newline at end of file
--- /dev/null
+/*!
+ * This source file is part of the Swift.org open source project
+ *
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ *
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["highlight-js-swift"],{"2a39":function(e,n){function a(e){return e?"string"===typeof e?e:e.source:null}function t(e){return i("(?=",e,")")}function i(...e){const n=e.map(e=>a(e)).join("");return n}function s(e){const n=e[e.length-1];return"object"===typeof n&&n.constructor===Object?(e.splice(e.length-1,1),n):{}}function u(...e){const n=s(e),t="("+(n.capture?"":"?:")+e.map(e=>a(e)).join("|")+")";return t}const c=e=>i(/\b/,e,/\w$/.test(e)?/\b/:/\B/),o=["Protocol","Type"].map(c),r=["init","self"].map(c),l=["Any","Self"],m=["actor","associatedtype","async","await",/as\?/,/as!/,"as","break","case","catch","class","continue","convenience","default","defer","deinit","didSet","do","dynamic","else","enum","extension","fallthrough",/fileprivate\(set\)/,"fileprivate","final","for","func","get","guard","if","import","indirect","infix",/init\?/,/init!/,"inout",/internal\(set\)/,"internal","in","is","isolated","nonisolated","lazy","let","mutating","nonmutating",/open\(set\)/,"open","operator","optional","override","postfix","precedencegroup","prefix",/private\(set\)/,"private","protocol",/public\(set\)/,"public","repeat","required","rethrows","return","set","some","static","struct","subscript","super","switch","throws","throw",/try\?/,/try!/,"try","typealias",/unowned\(safe\)/,/unowned\(unsafe\)/,"unowned","var","weak","where","while","willSet"],p=["false","nil","true"],d=["assignment","associativity","higherThan","left","lowerThan","none","right"],F=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warn_unqualified_access","#warning"],b=["abs","all","any","assert","assertionFailure","debugPrint","dump","fatalError","getVaList","isKnownUniquelyReferenced","max","min","numericCast","pointwiseMax","pointwiseMin","precondition","preconditionFailure","print","readLine","repeatElement","sequence","stride","swap","swift_unboxFromSwiftValueWithType","transcode","type","unsafeBitCast","unsafeDowncast","withExtendedLifetime","withUnsafeMutablePointer","withUnsafePointer","withVaList","withoutActuallyEscaping","zip"],h=u(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),f=u(h,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),w=i(h,f,"*"),y=u(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),g=u(y,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),E=i(y,g,"*"),v=i(/[A-Z]/,g,"*"),A=["autoclosure",i(/convention\(/,u("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",i(/objc\(/,E,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","testable","UIApplicationMain","unknown","usableFromInline"],N=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"];function C(e){const n={match:/\s+/,relevance:0},a=e.COMMENT("/\\*","\\*/",{contains:["self"]}),s=[e.C_LINE_COMMENT_MODE,a],h={match:[/\./,u(...o,...r)],className:{2:"keyword"}},y={match:i(/\./,u(...m)),relevance:0},C=m.filter(e=>"string"===typeof e).concat(["_|0"]),k=m.filter(e=>"string"!==typeof e).concat(l).map(c),D={variants:[{className:"keyword",match:u(...k,...r)}]},B={$pattern:u(/\b\w+/,/#\w+/),keyword:C.concat(F),literal:p},_=[h,y,D],S={match:i(/\./,u(...b)),relevance:0},M={className:"built_in",match:i(/\b/,u(...b),/(?=\()/)},x=[S,M],$={match:/->/,relevance:0},I={className:"operator",relevance:0,variants:[{match:w},{match:`\\.(\\.|${f})+`}]},O=[$,I],L="([0-9]_*)+",T="([0-9a-fA-F]_*)+",j={className:"number",relevance:0,variants:[{match:`\\b(${L})(\\.(${L}))?([eE][+-]?(${L}))?\\b`},{match:`\\b0x(${T})(\\.(${T}))?([pP][+-]?(${L}))?\\b`},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},P=(e="")=>({className:"subst",variants:[{match:i(/\\/,e,/[0\\tnr"']/)},{match:i(/\\/,e,/u\{[0-9a-fA-F]{1,8}\}/)}]}),K=(e="")=>({className:"subst",match:i(/\\/,e,/[\t ]*(?:[\r\n]|\r\n)/)}),z=(e="")=>({className:"subst",label:"interpol",begin:i(/\\/,e,/\(/),end:/\)/}),q=(e="")=>({begin:i(e,/"""/),end:i(/"""/,e),contains:[P(e),K(e),z(e)]}),U=(e="")=>({begin:i(e,/"/),end:i(/"/,e),contains:[P(e),z(e)]}),Z={className:"string",variants:[q(),q("#"),q("##"),q("###"),U(),U("#"),U("##"),U("###")]},V={match:i(/`/,E,/`/)},W={className:"variable",match:/\$\d+/},G={className:"variable",match:`\\$${g}+`},J=[V,W,G],R={match:/(@|#)available/,className:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:N,contains:[...O,j,Z]}]}},X={className:"keyword",match:i(/@/,u(...A))},H={className:"meta",match:i(/@/,E)},Q=[R,X,H],Y={match:t(/\b[A-Z]/),relevance:0,contains:[{className:"type",match:i(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,g,"+")},{className:"type",match:v,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:i(/\s+&\s+/,t(v)),relevance:0}]},ee={begin:/</,end:/>/,keywords:B,contains:[...s,..._,...Q,$,Y]};Y.contains.push(ee);const ne={match:i(E,/\s*:/),keywords:"_|0",relevance:0},ae={begin:/\(/,end:/\)/,relevance:0,keywords:B,contains:["self",ne,...s,..._,...x,...O,j,Z,...J,...Q,Y]},te={begin:/</,end:/>/,contains:[...s,Y]},ie={begin:u(t(i(E,/\s*:/)),t(i(E,/\s+/,E,/\s*:/))),end:/:/,relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:E}]},se={begin:/\(/,end:/\)/,keywords:B,contains:[ie,...s,..._,...O,j,Z,...Q,Y,ae],endsParent:!0,illegal:/["']/},ue={match:[/func/,/\s+/,u(V.match,E,w)],className:{1:"keyword",3:"title.function"},contains:[te,se,n],illegal:[/\[/,/%/]},ce={match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"},contains:[te,se,n],illegal:/\[|%/},oe={match:[/operator/,/\s+/,w],className:{1:"keyword",3:"title"}},re={begin:[/precedencegroup/,/\s+/,v],className:{1:"keyword",3:"title"},contains:[Y],keywords:[...d,...p],end:/}/};for(const t of Z.variants){const e=t.contains.find(e=>"interpol"===e.label);e.keywords=B;const n=[..._,...x,...O,j,Z,...J];e.contains=[...n,{begin:/\(/,end:/\)/,contains:["self",...n]}]}return{name:"Swift",keywords:B,contains:[...s,ue,ce,{beginKeywords:"struct protocol class extension enum actor",end:"\\{",excludeEnd:!0,keywords:B,contains:[e.inherit(e.TITLE_MODE,{className:"title.class",begin:/[A-Za-z$_][\u00C0-\u02B80-9A-Za-z$_]*/}),..._]},oe,re,{beginKeywords:"import",end:/$/,contains:[...s],relevance:0},..._,...x,...O,j,Z,...J,...Q,Y,ae]}}e.exports=C}}]);
\ No newline at end of file
--- /dev/null
+/*!
+ * This source file is part of the Swift.org open source project
+ *
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ *
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["highlight-js-xml"],{"8dcb":function(e,n){function a(e){const n=e.regex,a=n.concat(/[A-Z_]/,n.optional(/[A-Z0-9_.-]*:/),/[A-Z0-9_.-]*/),s=/[A-Za-z0-9._:-]+/,t={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},i={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},c=e.inherit(i,{begin:/\(/,end:/\)/}),l=e.inherit(e.APOS_STRING_MODE,{className:"string"}),r=e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),g={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr",begin:s,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[t]},{begin:/'/,end:/'/,contains:[t]},{begin:/[^\s"'=<>`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,relevance:10,contains:[i,r,l,c,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,contains:[i,c,r,l]}]}]},e.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,relevance:10},t,{className:"meta",begin:/<\?xml/,end:/\?>/,relevance:10},{className:"tag",begin:/<style(?=\s|>)/,end:/>/,keywords:{name:"style"},contains:[g],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/<script(?=\s|>)/,end:/>/,keywords:{name:"script"},contains:[g],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:n.concat(/</,n.lookahead(n.concat(a,n.either(/\/>/,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:a,relevance:0,starts:g}]},{className:"tag",begin:n.concat(/<\//,n.lookahead(n.concat(a,/>/))),contains:[{className:"name",begin:a,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}e.exports=a}}]);
\ No newline at end of file
--- /dev/null
+/*!
+ * This source file is part of the Swift.org open source project
+ *
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ *
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */(function(e){function t(t){for(var i,o,s=t[0],c=t[1],l=t[2],u=0,h=[];u<s.length;u++)o=s[u],Object.prototype.hasOwnProperty.call(r,o)&&r[o]&&h.push(r[o][0]),r[o]=0;for(i in c)Object.prototype.hasOwnProperty.call(c,i)&&(e[i]=c[i]);d&&d(t);while(h.length)h.shift()();return a.push.apply(a,l||[]),n()}function n(){for(var e,t=0;t<a.length;t++){for(var n=a[t],i=!0,o=1;o<n.length;o++){var s=n[o];0!==r[s]&&(i=!1)}i&&(a.splice(t--,1),e=c(c.s=n[0]))}return e}var i={},o={index:0},r={index:0},a=[];function s(e){return c.p+"js/"+({"documentation-topic~topic~tutorials-overview":"documentation-topic~topic~tutorials-overview","documentation-topic~topic":"documentation-topic~topic","documentation-topic":"documentation-topic",topic:"topic","tutorials-overview":"tutorials-overview","highlight-js-bash":"highlight-js-bash","highlight-js-c":"highlight-js-c","highlight-js-cpp":"highlight-js-cpp","highlight-js-css":"highlight-js-css","highlight-js-custom-markdown":"highlight-js-custom-markdown","highlight-js-custom-swift":"highlight-js-custom-swift","highlight-js-diff":"highlight-js-diff","highlight-js-http":"highlight-js-http","highlight-js-java":"highlight-js-java","highlight-js-javascript":"highlight-js-javascript","highlight-js-json":"highlight-js-json","highlight-js-llvm":"highlight-js-llvm","highlight-js-markdown":"highlight-js-markdown","highlight-js-objectivec":"highlight-js-objectivec","highlight-js-perl":"highlight-js-perl","highlight-js-php":"highlight-js-php","highlight-js-python":"highlight-js-python","highlight-js-ruby":"highlight-js-ruby","highlight-js-scss":"highlight-js-scss","highlight-js-shell":"highlight-js-shell","highlight-js-swift":"highlight-js-swift","highlight-js-xml":"highlight-js-xml"}[e]||e)+"."+{"documentation-topic~topic~tutorials-overview":"90c61522","chunk-c0335d80":"76a68cc5","documentation-topic~topic":"1679ec90","documentation-topic":"57e91f8a",topic:"8cd0c0c4","tutorials-overview":"2a32cd6f","chunk-2d0d3105":"cd72cc8e","highlight-js-bash":"1b52852f","highlight-js-c":"d1db3f17","highlight-js-cpp":"eaddddbe","highlight-js-css":"75eab1fe","highlight-js-custom-markdown":"7cffc4b3","highlight-js-custom-swift":"5cda5c20","highlight-js-diff":"62d66733","highlight-js-http":"163e45b6","highlight-js-java":"8326d9d8","highlight-js-javascript":"acb8a8eb","highlight-js-json":"471128d2","highlight-js-llvm":"6100b125","highlight-js-markdown":"90077643","highlight-js-objectivec":"bcdf5156","highlight-js-perl":"757d7b6f","highlight-js-php":"cc8d6c27","highlight-js-python":"c214ed92","highlight-js-ruby":"f889d392","highlight-js-scss":"62ee18da","highlight-js-shell":"dd7f411f","highlight-js-swift":"84f3e88c","highlight-js-xml":"9c3688c7"}[e]+".js"}function c(t){if(i[t])return i[t].exports;var n=i[t]={i:t,l:!1,exports:{}};return e[t].call(n.exports,n,n.exports,c),n.l=!0,n.exports}c.e=function(e){var t=[],n={"documentation-topic~topic~tutorials-overview":1,"chunk-c0335d80":1,"documentation-topic~topic":1,"documentation-topic":1,topic:1,"tutorials-overview":1};o[e]?t.push(o[e]):0!==o[e]&&n[e]&&t.push(o[e]=new Promise((function(t,n){for(var i="css/"+({"documentation-topic~topic~tutorials-overview":"documentation-topic~topic~tutorials-overview","documentation-topic~topic":"documentation-topic~topic","documentation-topic":"documentation-topic",topic:"topic","tutorials-overview":"tutorials-overview","highlight-js-bash":"highlight-js-bash","highlight-js-c":"highlight-js-c","highlight-js-cpp":"highlight-js-cpp","highlight-js-css":"highlight-js-css","highlight-js-custom-markdown":"highlight-js-custom-markdown","highlight-js-custom-swift":"highlight-js-custom-swift","highlight-js-diff":"highlight-js-diff","highlight-js-http":"highlight-js-http","highlight-js-java":"highlight-js-java","highlight-js-javascript":"highlight-js-javascript","highlight-js-json":"highlight-js-json","highlight-js-llvm":"highlight-js-llvm","highlight-js-markdown":"highlight-js-markdown","highlight-js-objectivec":"highlight-js-objectivec","highlight-js-perl":"highlight-js-perl","highlight-js-php":"highlight-js-php","highlight-js-python":"highlight-js-python","highlight-js-ruby":"highlight-js-ruby","highlight-js-scss":"highlight-js-scss","highlight-js-shell":"highlight-js-shell","highlight-js-swift":"highlight-js-swift","highlight-js-xml":"highlight-js-xml"}[e]||e)+"."+{"documentation-topic~topic~tutorials-overview":"d6f5411c","chunk-c0335d80":"10a2f091","documentation-topic~topic":"b6287bcf","documentation-topic":"1d1eec04",topic:"d8c126f3","tutorials-overview":"c249c765","chunk-2d0d3105":"31d6cfe0","highlight-js-bash":"31d6cfe0","highlight-js-c":"31d6cfe0","highlight-js-cpp":"31d6cfe0","highlight-js-css":"31d6cfe0","highlight-js-custom-markdown":"31d6cfe0","highlight-js-custom-swift":"31d6cfe0","highlight-js-diff":"31d6cfe0","highlight-js-http":"31d6cfe0","highlight-js-java":"31d6cfe0","highlight-js-javascript":"31d6cfe0","highlight-js-json":"31d6cfe0","highlight-js-llvm":"31d6cfe0","highlight-js-markdown":"31d6cfe0","highlight-js-objectivec":"31d6cfe0","highlight-js-perl":"31d6cfe0","highlight-js-php":"31d6cfe0","highlight-js-python":"31d6cfe0","highlight-js-ruby":"31d6cfe0","highlight-js-scss":"31d6cfe0","highlight-js-shell":"31d6cfe0","highlight-js-swift":"31d6cfe0","highlight-js-xml":"31d6cfe0"}[e]+".css",r=c.p+i,a=document.getElementsByTagName("link"),s=0;s<a.length;s++){var l=a[s],u=l.getAttribute("data-href")||l.getAttribute("href");if("stylesheet"===l.rel&&(u===i||u===r))return t()}var h=document.getElementsByTagName("style");for(s=0;s<h.length;s++){l=h[s],u=l.getAttribute("data-href");if(u===i||u===r)return t()}var d=document.createElement("link");d.rel="stylesheet",d.type="text/css",d.onload=t,d.onerror=function(t){var i=t&&t.target&&t.target.src||r,a=new Error("Loading CSS chunk "+e+" failed.\n("+i+")");a.code="CSS_CHUNK_LOAD_FAILED",a.request=i,delete o[e],d.parentNode.removeChild(d),n(a)},d.href=r;var g=document.getElementsByTagName("head")[0];g.appendChild(d)})).then((function(){o[e]=0})));var i=r[e];if(0!==i)if(i)t.push(i[2]);else{var a=new Promise((function(t,n){i=r[e]=[t,n]}));t.push(i[2]=a);var l,u=document.createElement("script");u.charset="utf-8",u.timeout=120,c.nc&&u.setAttribute("nonce",c.nc),u.src=s(e);var h=new Error;l=function(t){u.onerror=u.onload=null,clearTimeout(d);var n=r[e];if(0!==n){if(n){var i=t&&("load"===t.type?"missing":t.type),o=t&&t.target&&t.target.src;h.message="Loading chunk "+e+" failed.\n("+i+": "+o+")",h.name="ChunkLoadError",h.type=i,h.request=o,n[1](h)}r[e]=void 0}};var d=setTimeout((function(){l({type:"timeout",target:u})}),12e4);u.onerror=u.onload=l,document.head.appendChild(u)}return Promise.all(t)},c.m=e,c.c=i,c.d=function(e,t,n){c.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},c.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},c.t=function(e,t){if(1&t&&(e=c(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(c.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)c.d(n,i,function(t){return e[t]}.bind(null,i));return n},c.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return c.d(t,"a",t),t},c.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},c.p="{{BASE_PATH}}/",c.oe=function(e){throw console.error(e),e};var l=window["webpackJsonp"]=window["webpackJsonp"]||[],u=l.push.bind(l);l.push=t,l=l.slice();for(var h=0;h<l.length;h++)t(l[h]);var d=u;a.push([0,"chunk-vendors"]),n()})({0:function(e,t,n){e.exports=n("f161")},"002d":function(e,t,n){"use strict";n.d(t,"a",(function(){return a})),n.d(t,"c",(function(){return s})),n.d(t,"b",(function(){return c})),n.d(t,"d",(function(){return l})),n.d(t,"g",(function(){return u})),n.d(t,"f",(function(){return h})),n.d(t,"e",(function(){return d}));n("e7a5");const i=/(?:\s+|[`"<>])/g,o=/^-+/,r=/["'&<>]/g;function a(e){return e.trim().replace(i,"-").replace(o,"").toLowerCase()}function s(e){const t=e=>({'"':""","'":"'","&":"&","<":"<",">":">"}[e]||e);return e.replace(r,t)}function c(e){return e.replace(/#(.*)/,(e,t)=>"#"+CSS.escape(t))}function l(e){return e.replace(/[.*+\-?^${}()|[\]\\]/g,"\\$&")}function u(e){let t,n;const i="\\s*",o=" ",r=e.trim(),a=r.length;if(!a)return o;const s=[];for(t=0;t<a;t+=1)n=r[t],"\\"===n?(s.push(`${0===t?"":i}${n}`),s.push(r[t+1]),t+=1):0===t?s.push(n):n!==o&&s.push(`${i}${n}`);return s.join("")}function h(e,t,n=0){return`${e.slice(0,n)}${t}${e.slice(n)}`}function d(e){const t=e.split(/(?:\r?\n)+/);return t[0]}},"01da":function(e,t,n){},"161e":function(e,t,n){},2788:function(e,t,n){"use strict";n.d(t,"a",(function(){return u})),n.d(t,"b",(function(){return h}));var i=n("6842"),o=n("d26a");const r=Object(i["c"])(["meta","title"],"Documentation"),a=({title:e,description:t,url:n,currentLocale:i})=>[{name:"description",content:t},{property:"og:locale",content:i},{property:"og:site_name",content:r},{property:"og:type",content:"website"},{property:"og:title",content:e},{property:"og:description",content:t},{property:"og:url",content:n},{property:"og:image",content:Object(o["e"])("/developer-og.jpg")},{name:"twitter:image",content:Object(o["e"])("/developer-og-twitter.jpg")},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:description",content:t},{name:"twitter:title",content:e},{name:"twitter:url",content:n}],s=e=>[e,r].filter(Boolean).join(" | "),c=e=>{const{content:t}=e,n=e.property?"property":"name",i=e[n],o=document.querySelector(`meta[${n}="${i}"]`);if(o&&t)o.setAttribute("content",t);else if(o&&!t)o.remove();else if(t){const t=document.createElement("meta");t.setAttribute(n,e[n]),t.setAttribute("content",e.content),document.getElementsByTagName("head")[0].appendChild(t)}},l=e=>{document.title=e};function u({title:e,description:t,url:n,currentLocale:i}){const o=s(e);l(o),a({title:o,description:t,url:n,currentLocale:i}).forEach(e=>c(e))}function h(e){document.querySelector("html").setAttribute("lang",e)}},"34b0":function(e,t,n){"use strict";var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{staticClass:"inline-chevron-right-icon",attrs:{viewBox:"0 0 14 14",themeId:"inline-chevron-right"}},[n("path",{attrs:{d:"M2.964 1.366l0.649-0.76 7.426 6.343-7.423 6.445-0.655-0.755 6.545-5.683-6.542-5.59z"}})])},o=[],r=n("be08"),a={name:"InlineChevronRightIcon",components:{SVGIcon:r["a"]}},s=a,c=n("2877"),l=Object(c["a"])(s,i,o,!1,null,null,null);t["a"]=l.exports},3502:function(e,t,n){},3908:function(e,t,n){"use strict";function i(e){let t=null,n=e-1;const i=new Promise(e=>{t=e});return requestAnimationFrame((function e(){n-=1,n<=0?t():requestAnimationFrame(e)})),i}function o(e){return new Promise(t=>{setTimeout(t,e)})}n.d(t,"b",(function(){return i})),n.d(t,"a",(function(){return o}))},"3be4":function(e,t,n){},"3ca7":function(e){e.exports=JSON.parse('[{"code":"en-US","name":"English","slug":"en-US"},{"code":"zh-CN","name":"简体中文","slug":"zh-CN"},{"code":"ja-JP","name":"日本語","slug":"ja-JP"}]')},4009:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));const i="app-top"},"48b1":function(e,t,n){"use strict";n("e487")},5522:function(e,t,n){"use strict";n("a3e8")},"5c0b":function(e,t,n){"use strict";n("9c0c")},"5d2d":function(e,t,n){"use strict";n.d(t,"a",(function(){return a})),n.d(t,"c",(function(){return c})),n.d(t,"b",(function(){return l}));const i="developer.setting.";function o(e=localStorage){return{getItem:t=>{try{return e.getItem(t)}catch(n){return null}},setItem:(t,n)=>{try{e.setItem(t,n)}catch(i){}},removeItem:t=>{try{e.removeItem(t)}catch(n){}}}}function r(e){return{get:(t,n)=>{const o=JSON.parse(e.getItem(i+t));return null!==o?o:n},set:(t,n)=>e.setItem(i+t,JSON.stringify(n)),remove:t=>e.removeItem(i+t)}}const a=o(window.localStorage),s=o(window.sessionStorage),c=r(a),l=r(s)},"63b8":function(e,t,n){"use strict";n.d(t,"b",(function(){return i})),n.d(t,"c",(function(){return o})),n.d(t,"a",(function(){return r})),n.d(t,"d",(function(){return s}));const i={large:"large",medium:"medium",small:"small"},o={default:"default",nav:"nav"},r={[o.default]:{[i.large]:{minWidth:1069,contentWidth:980},[i.medium]:{minWidth:736,maxWidth:1068,contentWidth:692},[i.small]:{minWidth:320,maxWidth:735,contentWidth:280}},[o.nav]:{[i.large]:{minWidth:1024},[i.medium]:{minWidth:768,maxWidth:1023},[i.small]:{minWidth:320,maxWidth:767}}},a={[i.small]:0,[i.medium]:1,[i.large]:2};function s(e,t){return a[e]>a[t]}},6842:function(e,t,n){"use strict";function i(e,t,n){let i,o=e,r=t;for("string"===typeof r&&(r=[r]),i=0;i<r.length;i+=1){if("undefined"===typeof o[r[i]])return n;o=o[r[i]]}return o}n.d(t,"d",(function(){return r})),n.d(t,"a",(function(){return a})),n.d(t,"b",(function(){return s})),n.d(t,"c",(function(){return c}));var o=n("d26a");const r={meta:{},theme:{},features:{}},{baseUrl:a}=window;async function s(){const e=Object(o["e"])("/theme-settings.json");return fetch(e).then(e=>e.json()).catch(()=>({}))}const c=(e,t)=>i(r,e,t)},"748c":function(e,t,n){"use strict";function i(e){return e.reduce((e,t)=>(t.traits.includes("dark")?e.dark.push(t):e.light.push(t),e),{light:[],dark:[]})}function o(e){const t=["1x","2x","3x"];return t.reduce((t,n)=>{const i=e.find(e=>e.traits.includes(n));return i?t.concat({density:n,src:i.url,size:i.size}):t},[])}function r(e){const t="/",n=new RegExp(t+"+","g");return e.join(t).replace(n,t)}function a(e){const{baseUrl:t}=window,n=Array.isArray(e)?r(e):e;return n&&"string"===typeof n&&!n.startsWith(t)&&n.startsWith("/")?r([t,n]):n}function s(e){return e?e.startsWith("/")?e:"/"+e:e}function c(e){return e?`url('${a(e)}')`:void 0}function l(e){return new Promise((t,n)=>{const i=new Image;i.src=e,i.onerror=n,i.onload=()=>t({width:i.width,height:i.height})})}n.d(t,"e",(function(){return i})),n.d(t,"a",(function(){return o})),n.d(t,"c",(function(){return a})),n.d(t,"d",(function(){return s})),n.d(t,"f",(function(){return c})),n.d(t,"b",(function(){return l}))},"7ac6":function(e,t,n){},"7d8d":function(e){e.exports=JSON.parse('{"view-in":"日本語で表示","continue-viewing":"日本語で表示を続ける","language":"言語","video":{"replay":"リプレイ","play":"再生","pause":"一時停止","watch":"概要のビデオを観る"},"tutorials":{"title":"チュートリアル | チュートリアル","step":"手順{number}","submit":"送信","next":"次へ","preview":{"title":"プレビューなし | プレビュー | プレビュー","no-preview-available-step":"この手順では利用可能なプレビューがありません。"},"nav":{"chapters":"章","current":"現在の{thing}"},"assessment":{"check-your-understanding":"理解度を確認する","success-message":"よくできました。このチュートリアルの問題にすべて回答しました。","answer-number-is":"問題番号{index}は","correct":"正解です","incorrect":"不正解です","next-question":"次の問題"},"project-files":"プロジェクトファイル","estimated-time":"予測時間","sections":{"chapter":"{number}章"},"question-of":"{total}問中の{index}問","section-of":"{total}件中の{number}件","overriding-title":"{title}の{newTitle}","time":{"format":"{number} {minutes}","minutes":{"full":"分 | 分 | {count}分","short":"分 | 分"},"hours":{"full":"時間 | 時間"}}},"documentation":{"title":"ドキュメント","nav":{"breadcrumbs":"パンくずリスト","menu":"メニュー","open-menu":"メニューを開く","close-menu":"メニューを閉じる"},"current-page":"現在のページは{title}です","card":{"learn-more":"詳しい情報","read-article":"記事を読む","start-tutorial":"チュートリアルを開始","view-api":"APIのコレクションを表示","view-symbol":"記号を表示","view-sample-code":"サンプルコードを表示"}},"aside-kind":{"beta":"ベータ版","experiment":"試験運用版","important":"重要","note":"注意","tip":"ヒント","warning":"警告","deprecated":"非推奨"},"change-type":{"added":"追加","modified":"変更","deprecated":"非推奨"},"verbs":{"hide":"非表示","show":"表示","close":"閉じる"},"sections":{"title":"セクション{number}","on-this-page":"このページの内容","topics":"トピック","default-implementations":"デフォルト実装","relationships":"関連項目","see-also":"参照","declaration":"宣言","details":"詳細","parameters":"パラメータ","possible-values":"使用できる値","parts":"パーツ","availability":"利用可能","resources":"リソース"},"metadata":{"details":{"name":"名前","key":"キー","type":"タイプ"},"beta":{"legal":"このドキュメントはベータ版のソフトウェアのもので、変更される可能性があります。","software":"ベータ版ソフトウェア"},"default-implementation":"デフォルト実装あり。| デフォルト実装あり。"},"availability":{"introduced-and-deprecated":"{name} {introducedAt}で導入され、{name} {deprecatedAt}で非推奨になりました","available-on":"{name} {introducedAt}以降で使用できます"},"more":"さらに表示","less":"表示を減らす","api-reference":"APIリファレンス","filter":{"title":"フィルタ","search-symbols":"{technology}でシンボルを検索","suggested-tags":"提案されたタグ | 提案されたタグ","selected-tags":"選択したタグ | 選択したタグ","add-tag":"タグを追加","tag-select-remove":"タグ。選択してリストから削除します。","navigate":"シンボルを移動するには、上下左右の矢印キーを押します。","siblings-label":"{total-siblings}個中{number-siblings}個のシンボルが{parent-siblings}の中にあります","parent-label":"{total-siblings}個中{number-siblings}個のシンボルが1個のシンボルを含む{parent-siblings}の中にあります | {total-siblings}個中{number-siblings}個のシンボルが{number-parent}個のシンボルを含む{parent-siblings}の中にあります","reset-filter":"フィルタをリセット"},"navigator":{"title":"ドキュメントナビゲータ","open-navigator":"ドキュメントナビゲータを開く","close-navigator":"ドキュメントナビゲータを閉じる","no-results":"結果が見つかりません。","no-children":"使用できるデータがありません。","error-fetching":"データを取得する際にエラーが起きました。","items-found":"項目が見つかりません | 1個の項目が見つかりました | {number}個の項目が見つかりましたTabキーを押すと項目をナビゲートできます。","navigator-is":"ナビゲータは{state}です","state":{"loading":"読み込み中","ready":"準備完了"},"tags":{"hide-deprecated":"非推奨の項目を非表示"}},"tab":{"request":"リクエスト","response":"レスポンス"},"required":"必須","parameters":{"default":"デフォルト","minimum":"最小","maximum":"最大","possible-types":"タイプ | 使用できるタイプ","possible-values":"値 | 使用できる値"},"content-type":"Content-Type: {value}","read-only":"読み出し専用","error":{"unknown":"原因不明のエラーが起きました。","image":"イメージを読み込めませんでした"},"color-scheme":{"select":"カラースキーム環境設定を選択","auto":"自動","dark":"ダーク","light":"ライト"},"accessibility":{"strike":{"start":"取り消し線テキストの開始","end":"取り消し線テキストの終了"},"code":{"start":"コードブロックの開始","end":"コードブロックの終了"},"skip-navigation":"ナビゲーションをスキップ"},"select-language":"このページの言語を選択","icons":{"clear":"消去","web-service-endpoint":"Webサービスのエンドポイント","search":"検索"},"formats":{"parenthesis":"({content})","colon":"{content}: "},"quicknav":{"button":{"label":"クイックナビゲーションを開く","title":"クリックするか「/」を入力すると素早く移動します"}}}')},"821b":function(e,t,n){"use strict";t["a"]={auto:"auto",dark:"dark",light:"light"}},"942d":function(e,t,n){"use strict";n.d(t,"b",(function(){return i})),n.d(t,"c",(function(){return o})),n.d(t,"e",(function(){return r})),n.d(t,"d",(function(){return a})),n.d(t,"a",(function(){return s}));const i=52,o=48,r="nav-sticky-anchor",a="nav-open-navigator",s={noClose:"noclose"}},"94a8":function(e){e.exports=JSON.parse('{"view-in":"View in English","continue-viewing":"Continue viewing in English","language":"Language","video":{"replay":"Replay","play":"Play","pause":"Pause","watch":"Watch intro video"},"tutorials":{"title":"Tutorial | Tutorials","step":"Step {number}","submit":"Submit","next":"Next","preview":{"title":"No Preview | Preview | Previews","no-preview-available-step":"No preview available for this step."},"nav":{"chapters":"Chapters","current":"Current {thing}"},"assessment":{"check-your-understanding":"Check Your Understanding","success-message":"Great job, you\'ve answered all the questions for this tutorial.","answer-number-is":"Answer number {index} is","correct":"correct","incorrect":"incorrect","next-question":"Next question"},"project-files":"Project files","estimated-time":"Estimated Time","sections":{"chapter":"Chapter {number}"},"question-of":"Question {index} of {total}","section-of":"{number} of {total}","overriding-title":"{newTitle} with {title}","time":{"format":"{number} {minutes}","minutes":{"full":"minute | minutes | {count} minutes","short":"min | mins"},"hours":{"full":"hour | hours"}}},"documentation":{"title":"Documentation","nav":{"breadcrumbs":"Breadcrumbs","menu":"Menu","open-menu":"Open Menu","close-menu":"Close Menu"},"current-page":"Current page is {title}","card":{"learn-more":"Learn More","read-article":"Read article","start-tutorial":"Start tutorial","view-api":"View API collection","view-symbol":"View symbol","view-sample-code":"View sample code"}},"aside-kind":{"beta":"Beta","experiment":"Experiment","important":"Important","note":"Note","tip":"Tip","warning":"Warning","deprecated":"Deprecated"},"change-type":{"added":"Added","modified":"Modified","deprecated":"Deprecated"},"verbs":{"hide":"Hide","show":"Show","close":"Close"},"sections":{"title":"Section {number}","on-this-page":"On this page","topics":"Topics","default-implementations":"Default Implementations","relationships":"Relationships","see-also":"See Also","declaration":"Declaration","details":"Details","parameters":"Parameters","possible-values":"Possible Values","parts":"Parts","availability":"Availability","resources":"Resources"},"metadata":{"details":{"name":"Name","key":"Key","type":"Type"},"beta":{"legal":"This documentation refers to beta software and may be changed.","software":"Beta Software"},"default-implementation":"Default implementation provided. | Default implementations provided."},"availability":{"introduced-and-deprecated":"Introduced in {name} {introducedAt} and deprecated in {name} {deprecatedAt}","available-on":"Available on {name} {introducedAt} and later"},"more":"More","less":"Less","api-reference":"API Reference","filter":{"title":"Filter","search-symbols":"Search symbols in {technology}","suggested-tags":"Suggested tag | Suggested tags","selected-tags":"Selected tag | Selected tags","add-tag":"Add tag","tag-select-remove":"Tag. Select to remove from list.","navigate":"To navigate the symbols, press Up Arrow, Down Arrow, Left Arrow or Right Arrow","siblings-label":"{number-siblings} of {total-siblings} symbols inside {parent-siblings}","parent-label":"{number-siblings} of {total-siblings} symbols inside {parent-siblings} containing one symbol | {number-siblings} of {total-siblings} symbols inside {parent-siblings} containing {number-parent} symbols","reset-filter":"Reset Filter"},"navigator":{"title":"Documentation Navigator","open-navigator":"Open Documentation Navigator","close-navigator":"Close Documentation Navigator","no-results":"No results found.","no-children":"No data available.","error-fetching":"There was an error fetching the data.","items-found":"No items were found | 1 item was found | {number} items were found. Tab back to navigate through them.","navigator-is":"Navigator is {state}","state":{"loading":"loading","ready":"ready"},"tags":{"hide-deprecated":"Hide Deprecated"}},"tab":{"request":"Request","response":"Response"},"required":"Required","parameters":{"default":"Default","minimum":"Minimum","maximum":"Maximum","possible-types":"Type | Possible types","possible-values":"Value | Possible Values"},"content-type":"Content-Type: {value}","read-only":"Read-only","error":{"unknown":"An unknown error occurred.","image":"Image failed to load","not-found":"The page you\'re looking for can\'t be found."},"color-scheme":{"select":"Select a color scheme preference","auto":"Auto","dark":"Dark","light":"Light"},"accessibility":{"strike":{"start":"start of stricken text","end":"end of stricken text"},"code":{"start":"start of code block","end":"end of code block"},"skip-navigation":"Skip Navigation","in-page-link":"in page link"},"select-language":"Select the language for this page","icons":{"clear":"Clear","web-service-endpoint":"Web Service Endpoint","search":"Search"},"formats":{"parenthesis":"({content})","colon":"{content}: "},"quicknav":{"button":{"label":"Open Quick Navigation","title":"Click or type / for quick navigation"}}}')},9895:function(e,t,n){"use strict";n.d(t,"b",(function(){return i})),n.d(t,"a",(function(){return o}));const i="not-found",o="documentation-topic"},9923:function(e,t,n){"use strict";n.r(t),n.d(t,"defaultLocale",(function(){return a})),n.d(t,"messages",(function(){return s}));var i=n("94a8"),o=n("d9c4"),r=n("7d8d");const a="en-US",s={"en-US":i,"zh-CN":o,"ja-JP":r}},"9b56":function(e,t,n){"use strict";n.d(t,"a",(function(){return s})),n.d(t,"b",(function(){return l})),n.d(t,"c",(function(){return u}));var i=n("3ca7"),o=n("9923"),r=n("2788");const a=i.reduce((e,t)=>({...e,[t.slug]:t.code}),{});function s(e){return a[e]}function c(e){return!!a[e]}function l(e){return{params:{locale:e===o["defaultLocale"]?void 0:e}}}function u(e=o["defaultLocale"],t){if(!c(e))return;t.$i18n.locale=e;const n=s(e);Object(r["b"])(n)}},"9c0c":function(e,t,n){},"9dba":function(e,t,n){"use strict";n("3502")},a2be:function(e,t,n){"use strict";n("01da")},a3e8:function(e,t,n){},a919:function(e,t,n){"use strict";var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{staticClass:"close-icon",attrs:{viewBox:"0 0 14 14",themeId:"close"}},[n("path",{attrs:{d:"M12.73,0l1.27,1.27-5.74,5.73,5.72,5.72-1.27,1.27-5.72-5.72L1.28,13.99,.01,12.72,5.72,7.01,0,1.28,1.27,.01,6.99,5.73,12.73,0Z"}})])},o=[],r=n("be08"),a={name:"CloseIcon",components:{SVGIcon:r["a"]}},s=a,c=n("2877"),l=Object(c["a"])(s,i,o,!1,null,null,null);t["a"]=l.exports},be08:function(e,t,n){"use strict";var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("svg",{staticClass:"svg-icon",attrs:{"aria-hidden":"true",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"}},[e.themeOverrideURL?n("use",{attrs:{href:e.themeOverrideURL+"#"+e.themeId,width:"100%",height:"100%"}}):e._t("default")],2)},o=[],r=n("6842"),a={name:"SVGIcon",props:{themeId:{type:String,required:!1},iconUrl:{type:String,default:null}},computed:{themeOverrideURL:({iconUrl:e,themeId:t})=>e||Object(r["c"])(["theme","icons",t],void 0)}},s=a,c=(n("c2c4"),n("2877")),l=Object(c["a"])(s,i,o,!1,null,"33d3200a",null);t["a"]=l.exports},c2c4:function(e,t,n){"use strict";n("161e")},c83d:function(e,t,n){},d26a:function(e,t,n){"use strict";n.d(t,"d",(function(){return r})),n.d(t,"b",(function(){return a})),n.d(t,"a",(function(){return s})),n.d(t,"c",(function(){return c})),n.d(t,"e",(function(){return l}));var i=n("748c"),o={input:"input",tags:"tags"};function r(e={}){return Object.entries(e).reduce((e,[t,n])=>n?e.concat(`${encodeURIComponent(t)}=${encodeURIComponent(n)}`):e,[]).join("&")}function a(e,{changes:t,language:n,context:i}={}){const[o,a]=e.split("#"),s=o.match(/\?.*/),c=r({changes:t,language:n,context:i}),l=s?"&":"?",u=a?o:e,h=c?`${l}${c}`:"",d=a?"#"+a:"";return`${u}${h}${d}`}function s(e,t){const{query:{changes:n,[o.input]:i,[o.tags]:r,...a}={}}=e,{query:{changes:s,[o.input]:c,[o.tags]:l,...u}={}}=t;return e.name===t.name&&JSON.stringify({path:e.path,query:a})===JSON.stringify({path:t.path,query:u})}function c(e,t=window.location.href){return new URL(Object(i["c"])(e),t)}function l(e,t){return c(e,t).href}},d369:function(e,t,n){"use strict";var i=n("5d2d");const o={preferredColorScheme:"developer.setting.preferredColorScheme",preferredLocale:"developer.setting.preferredLocale",preferredLanguage:"docs.setting.preferredLanguage"},r={preferredColorScheme:"docs.setting.preferredColorScheme"};t["a"]=Object.defineProperties({},Object.keys(o).reduce((e,t)=>({...e,[t]:{get:()=>{const e=r[t],n=i["a"].getItem(o[t]);return e?n||i["a"].getItem(e):n},set:e=>i["a"].setItem(o[t],e)}}),{}))},d9c4:function(e){e.exports=JSON.parse('{"view-in":"以中文查看","continue-viewing":"继续以中文查看","language":"语言","video":{"replay":"重新播放","play":"播放","pause":"暂停","watch":"观看介绍视频"},"tutorials":{"title":"教程","step":"第 {number} 步","submit":"提交","next":"下一步","preview":{"title":"无预览 | 预览","no-preview-available-step":"这一步没有预览。"},"nav":{"chapters":"章节","current":"当前{thing}"},"assessment":{"check-your-understanding":"检查你的理解程度","success-message":"很棒,你回答了此教程的所有问题。","answer-number-is":"第 {index} 个答案","correct":"正确","incorrect":"错误","next-question":"下一个问题"},"project-files":"项目文件","estimated-time":"预计时间","sections":{"chapter":"第 {number} 章"},"question-of":"第 {index} 个问题(共 {total} 个)","section-of":"{number}/{total}","overriding-title":"{newTitle}{title}","time":{"format":"{number} {minutes}","minutes":{"full":"分钟 | {count} 分钟","short":"分钟"},"hours":{"full":"小时"}}},"documentation":{"title":"文档","nav":{"breadcrumbs":"面包屑导航","menu":"菜单","open-menu":"打开菜单","close-menu":"关闭菜单"},"current-page":"当前页面为:{title}","card":{"learn-more":"进一步了解","read-article":"阅读文章","start-tutorial":"开始教程","view-api":"查看 API 集合","view-symbol":"查看符号","view-sample-code":"查看示例代码"}},"aside-kind":{"beta":"Beta 版","experiment":"试验","important":"重要事项","note":"注","tip":"提示","warning":"警告","deprecated":"已弃用"},"change-type":{"added":"已添加","modified":"已修改","deprecated":"已弃用"},"verbs":{"hide":"隐藏","show":"显示","close":"关闭"},"sections":{"title":"第 {number} 部分","on-this-page":"在此页面上","topics":"主题","default-implementations":"默认实现","relationships":"关系","see-also":"另请参阅","declaration":"声明","details":"详细信息","parameters":"参数","possible-values":"可能值","parts":"部件","availability":"可用性","resources":"资源"},"metadata":{"details":{"name":"名称","key":"密钥","type":"类型"},"beta":{"legal":"此文档涉及 Beta 版软件且可能会改动。","software":"Beta 版软件"},"default-implementation":"提供默认实现。| 提供默认实现方法。"},"availability":{"introduced-and-deprecated":"{name} {introducedAt} 中引入,{name} {deprecatedAt} 中弃用","available-on":"{name} {introducedAt} 及更高版本中可用"},"more":"更多","less":"更少","api-reference":"API 参考","filter":{"title":"过滤","search-symbols":"在 {technology} 搜索符号","suggested-tags":"建议标签","selected-tags":"所选标签","add-tag":"添加标签","tag-select-remove":"标签。选择以从列表中移除。","navigate":"若要导航符号,请按下上箭头、下箭头、左箭头或右箭头。","siblings-label":"{parent-siblings} 内含 {number-siblings} 个符号(共 {total-siblings} 个)","parent-label":"{parent-siblings} 内含 {number-siblings} 个符号(共 {total-siblings} 个)包含一个符号 | {parent-siblings} 内含 {number-siblings} 个符号(共 {total-siblings} 个)包含 {number-parent} 个符号","reset-filter":"还原过滤条件"},"navigator":{"title":"文档导航器","open-navigator":"打开文档导航器","close-navigator":"关闭文档导航器","no-results":"未找到结果。","no-children":"无可用数据。","error-fetching":"获取数据时出错。","items-found":"未找到任何项目 | 找到 1 个项目 | 找到 {number} 个项目。按下 Tab 键导航。","navigator-is":"导航器{state}","state":{"loading":"正在载入","ready":"准备就绪"},"tags":{"hide-deprecated":"隐藏已弃用"}},"tab":{"request":"请求","response":"回复"},"required":"必需","parameters":{"default":"默认","minimum":"最小值","maximum":"最大值","possible-types":"类型 | 可能类型","possible-values":"值 | 可能值"},"content-type":"内容类型:{value}","read-only":"只读","error":{"unknown":"出现未知错误。","image":"图像无法载入"},"color-scheme":{"select":"选择首选颜色方案","auto":"自动","dark":"深色","light":"浅色"},"accessibility":{"strike":{"start":"删除线文本开始","end":"删除线文本结束"},"code":{"start":"代码块开头","end":"代码块结尾"},"skip-navigation":"跳过导航"},"select-language":"选择此页面的语言","icons":{"clear":"清除","web-service-endpoint":"网络服务端点","search":"搜索"},"formats":{"parenthesis":"({content})","colon":"{content}: "},"quicknav":{"button":{"label":"打开快速导航","title":"点按或键入 / 进行快速导航"}}}')},dd18:function(e,t,n){"use strict";t["a"]={eager:"eager",lazy:"lazy"}},e425:function(e,t,n){"use strict";var i=n("821b"),o=n("dd18"),r=n("d369"),a=n("3ca7");const s="undefined"!==typeof window.matchMedia&&[i["a"].light,i["a"].dark,"no-preference"].some(e=>window.matchMedia(`(prefers-color-scheme: ${e})`).matches),c=s?i["a"].auto:i["a"].light;t["a"]={state:{imageLoadingStrategy:"ide"===Object({NODE_ENV:"production",VUE_APP_TITLE:"Documentation",BASE_URL:"{{BASE_PATH}}/"}).VUE_APP_TARGET?o["a"].eager:o["a"].lazy,preferredColorScheme:r["a"].preferredColorScheme||c,preferredLocale:r["a"].preferredLocale,supportsAutoColorScheme:s,systemColorScheme:i["a"].light,availableLocales:[]},reset(){this.state.imageLoadingStrategy="ide"===Object({NODE_ENV:"production",VUE_APP_TITLE:"Documentation",BASE_URL:"{{BASE_PATH}}/"}).VUE_APP_TARGET?o["a"].eager:o["a"].lazy,this.state.preferredColorScheme=r["a"].preferredColorScheme||c,this.state.supportsAutoColorScheme=s,this.state.systemColorScheme=i["a"].light},setImageLoadingStrategy(e){this.state.imageLoadingStrategy=e},setPreferredColorScheme(e){this.state.preferredColorScheme=e,r["a"].preferredColorScheme=e},setAllLocalesAreAvailable(){const e=a.map(e=>e.code);this.state.availableLocales=e},setAvailableLocales(e=[]){this.state.availableLocales=e},setPreferredLocale(e){this.state.preferredLocale=e,r["a"].preferredLocale=this.state.preferredLocale},setSystemColorScheme(e){this.state.systemColorScheme=e},syncPreferredColorScheme(){r["a"].preferredColorScheme&&r["a"].preferredColorScheme!==this.state.preferredColorScheme&&(this.state.preferredColorScheme=r["a"].preferredColorScheme)}}},e487:function(e,t,n){},e759:function(e,t,n){"use strict";n("3be4")},e9e6:function(e,t,n){"use strict";n("7ac6")},ed78:function(e,t,n){"use strict";n("c83d")},ed96:function(e,t,n){n.p=window.baseUrl},f161:function(e,t,n){"use strict";n.r(t);n("ed96");var i=n("2b0e"),o=n("a925"),r=n("8c4f"),a=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{class:{fromkeyboard:e.fromKeyboard,hascustomheader:e.hasCustomHeader},attrs:{id:"app"}},[n("div",{attrs:{id:e.AppTopID}}),e.isTargetIDE?e._e():n("a",{attrs:{href:"#main",id:"skip-nav"}},[e._v(e._s(e.$t("accessibility.skip-navigation")))]),n("InitialLoadingPlaceholder"),e._t("header",(function(){return[e.enablei18n?n("SuggestLang"):e._e(),e.hasCustomHeader?n("custom-header",{attrs:{"data-color-scheme":e.preferredColorScheme}}):e._e()]}),{isTargetIDE:e.isTargetIDE}),n("div",{attrs:{id:e.baseNavStickyAnchorId}}),e._t("default",(function(){return[n("router-view",{staticClass:"router-content"}),e.hasCustomFooter?n("custom-footer",{attrs:{"data-color-scheme":e.preferredColorScheme}}):e.isTargetIDE?e._e():n("Footer",{scopedSlots:e._u([{key:"default",fn:function(t){var i=t.className;return[e.enablei18n?n("div",{class:i},[n("LocaleSelector")],1):e._e()]}}])})]}),{isTargetIDE:e.isTargetIDE}),e._t("footer",null,{isTargetIDE:e.isTargetIDE})],2)},s=[],c=n("e425"),l=n("821b"),u=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("footer",{staticClass:"footer"},[n("div",{staticClass:"row"},[n("ColorSchemeToggle")],1),e._t("default",null,{className:"row"})],2)},h=[],d=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"color-scheme-toggle",attrs:{"aria-label":e.$t("color-scheme.select"),role:"radiogroup"}},e._l(e.options,(function(t){return n("label",{key:t},[n("input",{attrs:{type:"radio"},domProps:{checked:t==e.preferredColorScheme,value:t},on:{input:e.setPreferredColorScheme}}),n("div",{staticClass:"text"},[e._v(e._s(e.$t("color-scheme."+t)))])])})),0)},g=[],m={name:"ColorSchemeToggle",data:()=>({appState:c["a"].state}),computed:{options:({supportsAutoColorScheme:e})=>[l["a"].light,l["a"].dark,...e?[l["a"].auto]:[]],preferredColorScheme:({appState:e})=>e.preferredColorScheme,supportsAutoColorScheme:({appState:e})=>e.supportsAutoColorScheme},methods:{setPreferredColorScheme:e=>{c["a"].setPreferredColorScheme(e.target.value)}},watch:{preferredColorScheme:{immediate:!0,handler(e){document.body.dataset.colorScheme=e}}}},p=m,f=(n("9dba"),n("2877")),b=Object(f["a"])(p,d,g,!1,null,"02a6f6ec",null),v=b.exports,w={name:"Footer",components:{ColorSchemeToggle:v}},y=w,j=(n("e9e6"),Object(f["a"])(y,u,h,!1,null,"4e049dbd",null)),S=j.exports,E=function(){var e=this,t=e.$createElement,n=e._self._c||t;return e.loaded?e._e():n("div",{staticClass:"InitialLoadingPlaceholder",attrs:{id:"loading-placeholder"}})},C=[],_={name:"InitialLoadingPlaceholder",data(){return{loaded:!1}},created(){const e=()=>{this.loaded=!0};this.$router.onReady(e,e)}},P=_,k=(n("48b1"),Object(f["a"])(P,E,C,!1,null,"35c356b6",null)),L=k.exports,A=n("942d"),T=n("6842");function x(e,t){return e&&"object"===typeof e&&Object.prototype.hasOwnProperty.call(e,t)&&"string"===typeof e[t]}function O(e,t,n,i){if(!t||"object"!==typeof t||i&&(x(t,"light")||x(t,"dark"))){let o=t;if(x(t,i)&&(o=t[i]),"object"===typeof o)return;n[e]=o}else Object.entries(t).forEach(([t,o])=>{const r=[e,t].join("-");O(r,o,n,i)})}function I(e,t="light"){const n={},i=e||{};return O("-",i,n,t),n}var $=n("4009"),D=function(){var e=this,t=e.$createElement,n=e._self._c||t;return e.displaySuggestLang?n("div",{staticClass:"suggest-lang"},[n("div",{staticClass:"suggest-lang__wrapper"},[n("router-link",{staticClass:"suggest-lang__link",attrs:{to:e.getLocaleParam(e.preferredLocale),lang:e.getCodeForSlug(e.preferredLocale)},nativeOn:{click:function(t){return e.setPreferredLocale(e.preferredLocale)}}},[e._v(e._s(e.$i18n.messages[e.preferredLocale]["view-in"])),n("InlineChevronRightIcon",{staticClass:"icon-inline"})],1),n("div",{staticClass:"suggest-lang__close-icon-wrapper"},[n("button",{staticClass:"suggest-lang__close-icon-button",attrs:{"aria-label":e.$t("continue-viewing")},on:{click:function(t){return e.setPreferredLocale(e.$i18n.locale)}}},[n("CloseIcon",{staticClass:"icon-inline"})],1)])],1)]):e._e()},N=[],R=n("34b0"),U=n("a919"),q=n("3ca7"),V=n("9b56"),B={name:"SuggestLang",components:{InlineChevronRightIcon:R["a"],CloseIcon:U["a"]},computed:{preferredLocale:()=>{const e=c["a"].state.preferredLocale;if(e)return e;const t=q.find(e=>{const t=e.code.split("-")[0],n=window.navigator.language.split("-")[0];return n===t});return t?t.slug:null},displaySuggestLang:({preferredLocale:e,$i18n:t})=>e&&t.locale!==e},methods:{setPreferredLocale:e=>{c["a"].setPreferredLocale(e)},getCodeForSlug:V["a"],getLocaleParam:V["b"]}},M=B,W=(n("ed78"),Object(f["a"])(M,D,N,!1,null,"ad72c62e",null)),F=W.exports,G=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"locale-selector"},[n("select",{attrs:{"aria-label":e.$t("select-language")},domProps:{value:e.$i18n.locale},on:{change:e.updateRouter}},e._l(e.locales,(function(t){var i=t.slug,o=t.name,r=t.code;return n("option",{key:i,attrs:{lang:r},domProps:{value:i}},[e._v(" "+e._s(o)+" ")])})),0),n("ChevronThickIcon",{staticClass:"icon-inline"})],1)},H=[],J=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{staticClass:"chevron-thick-icon",attrs:{viewBox:"0 0 14 10.5",themeId:"chevron-thick"}},[n("path",{attrs:{d:"M12.43,0l1.57,1.22L7,10.5,0,1.23,1.58,0,7,7,12.43,0Z"}})])},K=[],z=n("be08"),Y={name:"ChevronThickIcon",components:{SVGIcon:z["a"]}},Q=Y,Z=Object(f["a"])(Q,J,K,!1,null,null,null),X=Z.exports,ee={name:"LocaleSelector",components:{ChevronThickIcon:X},methods:{updateRouter({target:{value:e}}){this.$router.push(Object(V["b"])(e)),c["a"].setPreferredLocale(e),Object(V["c"])(e,this)}},computed:{availableLocales:()=>c["a"].state.availableLocales,locales:({availableLocales:e})=>q.filter(({code:t})=>e.includes(t))}},te=ee,ne=(n("e759"),Object(f["a"])(te,G,H,!1,null,"7e4d9b69",null)),ie=ne.exports,oe={name:"CoreApp",components:{Footer:S,InitialLoadingPlaceholder:L,SuggestLang:F,LocaleSelector:ie},provide(){return{isTargetIDE:this.isTargetIDE,performanceMetricsEnabled:"true"===Object({NODE_ENV:"production",VUE_APP_TITLE:"Documentation",BASE_URL:"{{BASE_PATH}}/"}).VUE_APP_PERFORMANCE_ENABLED}},data(){return{AppTopID:$["a"],appState:c["a"].state,fromKeyboard:!1,isTargetIDE:"ide"===Object({NODE_ENV:"production",VUE_APP_TITLE:"Documentation",BASE_URL:"{{BASE_PATH}}/"}).VUE_APP_TARGET,themeSettings:T["d"],baseNavStickyAnchorId:A["e"]}},computed:{currentColorScheme:({appState:e})=>e.systemColorScheme,preferredColorScheme:({appState:e})=>e.preferredColorScheme,availableLocales:({appState:e})=>e.availableLocales,CSSCustomProperties:({currentColorScheme:e,preferredColorScheme:t,themeSettings:n})=>I(n.theme,t===l["a"].auto?e:t),hasCustomHeader:()=>!!window.customElements.get("custom-header"),hasCustomFooter:()=>!!window.customElements.get("custom-footer"),enablei18n:({availableLocales:e})=>Object(T["c"])(["features","docs","i18n","enable"],!1)&&e.length>1},props:{enableThemeSettings:{type:Boolean,default:!0}},watch:{CSSCustomProperties:{immediate:!0,handler(e){this.detachStylesFromRoot(e),this.attachStylesToRoot(e)}}},async created(){window.addEventListener("keydown",this.onKeyDown),this.$bridge.on("navigation",this.handleNavigationRequest),this.enableThemeSettings&&Object.assign(this.themeSettings,await Object(T["b"])()),window.addEventListener("pageshow",this.syncPreferredColorScheme),this.$once("hook:beforeDestroy",()=>{window.removeEventListener("pageshow",this.syncPreferredColorScheme)})},mounted(){(document.querySelector(".footer-current-year")||{}).innerText=(new Date).getFullYear(),this.attachColorSchemeListeners()},beforeDestroy(){this.fromKeyboard?window.removeEventListener("mousedown",this.onMouseDown):window.removeEventListener("keydown",this.onKeyDown),this.$bridge.off("navigation",this.handleNavigationRequest),this.detachStylesFromRoot(this.CSSCustomProperties)},methods:{onKeyDown(){this.fromKeyboard=!0,window.addEventListener("mousedown",this.onMouseDown),window.removeEventListener("keydown",this.onKeyDown)},onMouseDown(){this.fromKeyboard=!1,window.addEventListener("keydown",this.onKeyDown),window.removeEventListener("mousedown",this.onMouseDown)},handleNavigationRequest(e){this.$router.push(e)},attachColorSchemeListeners(){if(!window.matchMedia)return;const e=window.matchMedia("(prefers-color-scheme: dark)");e.addListener(this.onColorSchemePreferenceChange),this.$once("hook:beforeDestroy",()=>{e.removeListener(this.onColorSchemePreferenceChange)}),this.onColorSchemePreferenceChange(e)},onColorSchemePreferenceChange({matches:e}){const t=e?l["a"].dark:l["a"].light;c["a"].setSystemColorScheme(t)},attachStylesToRoot(e){const t=document.body;Object.entries(e).filter(([,e])=>Boolean(e)).forEach(([e,n])=>{t.style.setProperty(e,n)})},detachStylesFromRoot(e){const t=document.body;Object.entries(e).forEach(([e])=>{t.style.removeProperty(e)})},syncPreferredColorScheme(){c["a"].syncPreferredColorScheme()}}},re=oe,ae=(n("5c0b"),n("a2be"),Object(f["a"])(re,a,s,!1,null,"7d594ed9",null)),se=ae.exports;class ce{constructor(){this.$send=()=>{}}send(e){this.$send(e)}}class le{constructor(){const{webkit:{messageHandlers:{bridge:e={}}={}}={}}=window;this.bridge=e;const{postMessage:t=(()=>{})}=e;this.$send=t.bind(e)}send(e){this.$send(e)}}class ue{constructor(e=new ce){this.backend=e,this.listeners={}}send(e){this.backend.send(e)}receive(e){this.emit(e.type,e.data)}emit(e,t){this.listeners[e]&&this.listeners[e].forEach(e=>e(t))}on(e,t){this.listeners[e]||(this.listeners[e]=new Set),this.listeners[e].add(t)}off(e,t){this.listeners[e]&&this.listeners[e].delete(t)}}var he={install(e,t){let n;n=t.performanceMetricsEnabled||"ide"===t.appTarget?new le:new ce,e.prototype.$bridge=new ue(n)}};function de(e){return"custom-"+e}function ge(e){return class extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"}),n=e.content.cloneNode(!0);t.appendChild(n)}}}function me(e){const t=de(e),n=document.getElementById(t);n&&window.customElements.define(t,ge(n))}function pe(e,t={names:["header","footer"]}){const{names:n}=t;e.config.ignoredElements=/^custom-/,n.forEach(me)}function fe(e,t){const{value:n=!1}=t;e.style.display=n?"none":""}var be={hide:fe};function ve(e,{performanceMetrics:t=!1}={}){e.config.productionTip=!1,e.use(pe),e.directive("hide",be.hide),e.use(he,{appTarget:Object({NODE_ENV:"production",VUE_APP_TITLE:"Documentation",BASE_URL:"{{BASE_PATH}}/"}).VUE_APP_TARGET,performanceMetricsEnabled:t}),window.bridge=e.prototype.$bridge,e.config.performance=t}var we=n("9895"),ye=n("63b8"),je=n("3908"),Se=n("002d"),Ee=n("d26a");const Ce=10;function _e(e){const{name:t}=e,n=t.includes(we["a"]);return n?Ce:0}function Pe(){const{location:e}=window;return e.pathname+e.search+e.hash}function ke(){const e=Math.max(document.documentElement.clientWidth||0,window.innerWidth||0);return e<ye["a"].nav.small.maxWidth?A["c"]:A["b"]}async function Le(e,t,n){if(n)return await this.app.$nextTick(),n;if(e.meta&&e.meta.preventScrolling)return!1;if(e.hash){const{name:t,query:n,hash:i}=e,o=t.includes(we["a"]),r=!!n.changes,a=ke(),s=o&&r?a:0,c=a+s+_e(e),l="ide"===Object({NODE_ENV:"production",VUE_APP_TITLE:"Documentation",BASE_URL:"{{BASE_PATH}}/"}).VUE_APP_TARGET?0:c;return{selector:Object(Se["b"])(i),offset:{x:0,y:l}}}return!Object(Ee["a"])(e,t)&&{x:0,y:0}}async function Ae(){let e=window.sessionStorage.getItem("scrollPosition");if(e){try{e=JSON.parse(e)}catch(t){return void console.error("Error parsing scrollPosition from sessionStorage",t)}Pe()===e.location&&(await Object(je["b"])(2),window.scrollTo(e.x,e.y))}}function Te(){window.location.hash||sessionStorage.setItem("scrollPosition",JSON.stringify({x:window.pageXOffset,y:window.pageYOffset,location:Pe()}))}var xe=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("GenericError")},Oe=[],Ie=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"generic-error"},[n("div",{staticClass:"container"},[n("h1",{staticClass:"title error-content"},[e._v(e._s(e.message||e.$t("error.unknown")))]),e._t("default")],2)])},$e=[],De={name:"GenericError",props:{message:{type:String,required:!1}}},Ne=De,Re=(n("5522"),Object(f["a"])(Ne,Ie,$e,!1,null,"1f05d9ec",null)),Ue=Re.exports,qe={name:"ServerError",components:{GenericError:Ue},created(){c["a"].setAllLocalesAreAvailable()}},Ve=qe,Be=Object(f["a"])(Ve,xe,Oe,!1,null,null,null),Me=Be.exports,We=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("GenericError",{attrs:{message:e.$t("error.not-found")}},[e._t("default")],2)},Fe=[],Ge={name:"NotFound",components:{GenericError:Ue},created(){c["a"].setAllLocalesAreAvailable()}},He=Ge,Je=Object(f["a"])(He,We,Fe,!1,null,null,null),Ke=Je.exports,ze=[{path:"/tutorials/:id",name:"tutorials-overview",component:()=>Promise.all([n.e("documentation-topic~topic~tutorials-overview"),n.e("tutorials-overview")]).then(n.bind(null,"f025"))},{path:"/tutorials/:id/*",name:"topic",component:()=>Promise.all([n.e("documentation-topic~topic~tutorials-overview"),n.e("documentation-topic~topic"),n.e("topic")]).then(n.bind(null,"3213"))},{path:"/documentation/*",name:we["a"],component:()=>Promise.all([n.e("documentation-topic~topic~tutorials-overview"),n.e("chunk-c0335d80"),n.e("documentation-topic~topic"),n.e("documentation-topic")]).then(n.bind(null,"f8ac"))},{path:"*",name:we["b"],component:Ke},{path:"*",name:"server-error",component:Me}];const Ye=[{pathPrefix:"/:locale?",nameSuffix:"-locale"}];function Qe(e,t=[],n=Ye){return n.reduce((n,i)=>n.concat(e.filter(e=>!t.includes(e.name)).map(e=>({...e,path:i.pathPrefix+e.path,name:e.name+i.nameSuffix}))),[])}const Ze=[...Qe(ze,[we["b"]]),...ze];function Xe(e={}){const t=new r["a"]({mode:"history",base:T["a"],scrollBehavior:Le,...e,routes:e.routes||Ze});return t.onReady(()=>{"scrollRestoration"in window.history&&(window.history.scrollRestoration="manual"),Ae()}),"ide"!==Object({NODE_ENV:"production",VUE_APP_TITLE:"Documentation",BASE_URL:"{{BASE_PATH}}/"}).VUE_APP_TARGET&&t.onError(e=>{const{route:n={path:"/"}}=e;t.replace({name:"server-error",params:[n.path]})}),window.addEventListener("unload",Te),t}var et=n("9923");function tt(e=et){const{defaultLocale:t,messages:n,dateTimeFormats:i={}}=e,r=new o["a"]({dateTimeFormats:i,locale:t,fallbackLocale:t,messages:n});return r}i["default"].use(ve),i["default"].use(r["a"]),i["default"].use(o["a"]),new i["default"]({router:Xe(),render:e=>e(se),i18n:tt()}).$mount("#app")}});
\ No newline at end of file
--- /dev/null
+/*!
+ * This source file is part of the Swift.org open source project
+ *
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ *
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["topic"],{"0466":function(e,t,n){},"0503":function(e,t,n){"use strict";n("e38e")},"0c11":function(e,t,n){},"0c14":function(e,t,n){},1006:function(e,t,n){"use strict";n("a95e")},"1dd5":function(e,t,n){"use strict";n("7b17")},"257c":function(e,t,n){"use strict";n("7748")},"2a05":function(e,t,n){},"2f9d":function(e,t,n){"use strict";n("525c")},3213:function(e,t,n){"use strict";n.r(t);var s=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[e.topicData?n(e.componentFor(e.topicData),e._b({key:e.topicKey,tag:"component",attrs:{hierarchy:e.hierarchy}},"component",e.propsFor(e.topicData),!1)):e._e()],1)},i=[],r=n("25a9"),o=n("a97e");const{BreakpointName:a}=o["a"].constants;var c,l,u={state:{linkableSections:[],breakpoint:a.large,references:{}},addLinkableSection(e){const t={...e,visibility:0};t.sectionNumber=this.state.linkableSections.length,this.state.linkableSections.push(t)},reset(){this.state.linkableSections=[],this.state.breakpoint=a.large,this.state.references={}},updateLinkableSection(e){this.state.linkableSections=this.state.linkableSections.map(t=>e.anchor===t.anchor?{...t,visibility:e.visibility}:t)},updateBreakpoint(e){this.state.breakpoint=e},setReferences(e){this.state.references=e}},d=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"article"},[e.isTargetIDE?e._e():n("NavigationBar",{attrs:{chapters:e.hierarchy.modules,technology:e.metadata.category,topic:e.heroTitle||"",rootReference:e.hierarchy.reference,identifierUrl:e.identifierUrl}}),n("main",{attrs:{id:"main",role:"main",tabindex:"0"}},[e._t("above-hero"),e._l(e.sections,(function(t,s){return n(e.componentFor(t),e._b({key:s,tag:"component"},"component",e.propsFor(t),!1))}))],2),n("PortalTarget",{attrs:{name:"modal-destination",multiple:""}})],1)},p=[],h=n("2b88"),m=n("e425"),f=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("NavBase",{attrs:{id:"nav","aria-label":e.technology,hasSolidBackground:""}},[n("template",{slot:"default"},[n("ReferenceUrlProvider",{attrs:{reference:e.rootReference},scopedSlots:e._u([{key:"default",fn:function(t){var s=t.urlWithParams;return n("NavTitleContainer",{attrs:{to:s}},[n("template",{slot:"default"},[e._v(e._s(e.technology))]),n("template",{slot:"subhead"},[e._v(e._s(e.$tc("tutorials.title",2)))])],2)}}])})],1),n("template",{slot:"after-title"},[n("div",{staticClass:"separator"})]),n("template",{slot:"tray"},[n("div",{staticClass:"mobile-dropdown-container"},[n("MobileDropdown",{attrs:{options:e.chapters,sections:e.optionsForSections,currentOption:e.currentSection?e.currentSection.title:""},on:{"select-section":e.onSelectSection}})],1),n("div",{staticClass:"dropdown-container"},[n("PrimaryDropdown",{staticClass:"primary-dropdown",attrs:{options:e.chapters,currentOption:e.topic}}),n("ChevronIcon",{staticClass:"icon-inline"}),e.currentSection?n("SecondaryDropdown",{staticClass:"secondary-dropdown",attrs:{options:e.optionsForSections,currentOption:e.currentSection.title,sectionTracker:e.sectionIndicatorText},on:{"select-section":e.onSelectSection}}):e._e()],1),e._t("tray",null,{siblings:e.chapters.length+e.optionsForSections.length})],2)],2)},v=[],b=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{staticClass:"chevron-icon",attrs:{viewBox:"0 0 14 14",themeId:"chevron"}},[n("path",{attrs:{d:"M3.22 1.184l0.325-0.38 7.235 6.201-7.235 6.19-0.325-0.38 6.792-5.811-6.792-5.82z"}})])},g=[],y=n("be08"),C={name:"ChevronIcon",components:{SVGIcon:y["a"]}},w=C,_=n("2877"),k=Object(_["a"])(w,b,g,!1,null,null,null),S=k.exports,x=n("d26a"),T=n("2f34"),I={name:"ReferenceUrlProvider",mixins:[T["a"]],props:{reference:{type:String,required:!0}},computed:{resolvedReference:({references:e,reference:t})=>e[t]||{},url:({resolvedReference:e})=>e.url,title:({resolvedReference:e})=>e.title},render(){return this.$scopedSlots.default({url:this.url,urlWithParams:Object(x["b"])(this.url,this.$route.query),title:this.title,reference:this.resolvedReference})}},A=I,$=Object(_["a"])(A,c,l,!1,null,null,null),O=$.exports,N=n("8a61"),P=n("cbcf"),q=n("653a"),D=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("NavMenuItems",{staticClass:"mobile-dropdown"},e._l(e.options,(function(t){return n("ReferenceUrlProvider",{key:t.reference,attrs:{reference:t.reference},scopedSlots:e._u([{key:"default",fn:function(s){var i=s.title;return n("NavMenuItemBase",{staticClass:"chapter-list",attrs:{role:"group"}},[n("p",{staticClass:"chapter-name"},[e._v(e._s(i))]),n("ul",{staticClass:"tutorial-list"},e._l(t.projects,(function(t){return n("ReferenceUrlProvider",{key:t.reference,attrs:{reference:t.reference},scopedSlots:e._u([{key:"default",fn:function(t){var s=t.url,i=t.urlWithParams,r=t.title;return n("li",{staticClass:"tutorial-list-item"},[n("router-link",{staticClass:"option tutorial",attrs:{to:i,value:r}},[e._v(" "+e._s(r)+" ")]),s===e.$route.path?n("ul",{staticClass:"section-list",attrs:{role:"listbox"}},e._l(e.sections,(function(t){return n("li",{key:t.title},[n("router-link",{class:e.classesFor(t),attrs:{to:{path:t.path,query:e.$route.query},value:t.title},nativeOn:{click:function(n){return e.onClick(t)}}},[e._v(" "+e._s(t.title)+" ")])],1)})),0):e._e()],1)}}],null,!0)})})),1)])}}],null,!0)})})),1)},j=[],R=n("863d"),M=n("9b30"),B={name:"MobileDropdown",components:{NavMenuItems:M["a"],NavMenuItemBase:R["a"],ReferenceUrlProvider:O},props:{options:{type:Array,required:!0},currentOption:{type:String,required:!0},sections:{type:Array,required:!1,default:()=>[]}},methods:{classesFor(e){return["option","section",{active:this.currentOption===e.title},this.depthClass(e)]},depthClass(e){const{depth:t=0}=e;return"depth"+t},onClick(e){this.$emit("select-section",e.path)}}},L=B,E=(n("e688"),Object(_["a"])(L,D,j,!1,null,"154acfbd",null)),F=E.exports,V=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("DropdownCustom",{staticClass:"tutorial-dropdown",attrs:{value:e.currentOption,"aria-label":e.$t("tutorials.nav.current",{thing:e.$t("sections.title")}),isSmall:""},scopedSlots:e._u([{key:"default",fn:function(t){var s=t.closeAndFocusToggler,i=t.contentClasses,r=t.navigateOverOptions,o=t.OptionClass,a=t.ActiveOptionClass;return[n("ul",{staticClass:"options",class:i,attrs:{role:"listbox",tabindex:"0"}},e._l(e.options,(function(t){return n("router-link",{key:t.title,attrs:{to:{path:t.path,query:e.$route.query},custom:""},scopedSlots:e._u([{key:"default",fn:function(i){var c,l=i.navigate;return[n("li",{class:[o,(c={},c[a]=e.currentOption===t.title,c)],attrs:{role:"option",value:t.title,"aria-selected":e.currentOption===t.title,"aria-current":e.ariaCurrent(t.title),tabindex:-1},on:{click:function(n){return e.setActive(t,l,s,n)},keydown:[function(n){return!n.type.indexOf("key")&&e._k(n.keyCode,"enter",13,n.key,"Enter")?null:e.setActive(t,l,s,n)},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"esc",27,t.key,["Esc","Escape"])?null:s.apply(null,arguments)},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"tab",9,t.key,"Tab")?null:s.apply(null,arguments)},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"down",40,t.key,["Down","ArrowDown"])?null:(t.preventDefault(),r(t,1))},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"up",38,t.key,["Up","ArrowUp"])?null:(t.preventDefault(),r(t,-1))}]}},[e._v(" "+e._s(t.title)+" ")])]}}],null,!0)})})),1)]}}])},[n("template",{slot:"toggle-post-content"},[n("span",{staticClass:"section-tracker"},[e._v(e._s(e.sectionTracker))])])],2)},U=[],H=function(){var e,t=this,n=t.$createElement,s=t._self._c||n;return s("BaseDropdown",{staticClass:"dropdown-custom",class:(e={},e[t.OpenedClass]=t.isOpen,e["dropdown-small"]=t.isSmall,e),attrs:{value:t.value},scopedSlots:t._u([{key:"dropdown",fn:function(e){var n=e.dropdownClasses;return[s("span",{staticClass:"visuallyhidden",attrs:{id:"DropdownLabel_"+t._uid}},[t._v(t._s(t.ariaLabel))]),s("button",{ref:"dropdownToggle",staticClass:"form-dropdown-toggle",class:n,attrs:{role:"button",id:"DropdownToggle_"+t._uid,"aria-labelledby":"DropdownLabel_"+t._uid+" DropdownToggle_"+t._uid,"aria-expanded":t.isOpen?"true":"false","aria-haspopup":"true"},on:{click:t.toggleDropdown,keydown:[function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:(e.preventDefault(),t.openDropdown.apply(null,arguments))},function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"esc",27,e.key,["Esc","Escape"])?null:t.closeAndFocusToggler.apply(null,arguments)},function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"down",40,e.key,["Down","ArrowDown"])?null:(e.preventDefault(),t.openDropdown.apply(null,arguments))},function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"up",38,e.key,["Up","ArrowUp"])?null:(e.preventDefault(),t.openDropdown.apply(null,arguments))}]}},[s("span",{staticClass:"form-dropdown-title"},[t._v(t._s(t.value))]),t._t("toggle-post-content")],2)]}}],null,!0)},[s("template",{slot:"eyebrow"},[t._t("eyebrow")],2),s("template",{slot:"after"},[t._t("default",null,null,{value:t.value,isOpen:t.isOpen,contentClasses:["form-dropdown-content",{"is-open":t.isOpen}],closeDropdown:t.closeDropdown,onChangeAction:t.onChangeAction,closeAndFocusToggler:t.closeAndFocusToggler,navigateOverOptions:t.navigateOverOptions,OptionClass:t.OptionClass,ActiveOptionClass:t.ActiveOptionClass})],2)],2)},z=[],G=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"form-element"},[e._t("dropdown",(function(){return[n("select",e._b({directives:[{name:"model",rawName:"v-model",value:e.modelValue,expression:"modelValue"}],class:e.dropdownClasses,on:{change:function(t){var n=Array.prototype.filter.call(t.target.options,(function(e){return e.selected})).map((function(e){var t="_value"in e?e._value:e.value;return t}));e.modelValue=t.target.multiple?n:n[0]}}},"select",e.$attrs,!1),[e._t("default")],2)]}),{dropdownClasses:e.dropdownClasses,value:e.value}),n("InlineChevronDownIcon",{staticClass:"form-icon",attrs:{"aria-hidden":"true"}}),e.$slots.eyebrow?n("span",{staticClass:"form-label",attrs:{"aria-hidden":"true"}},[e._t("eyebrow")],2):e._e(),e._t("after")],2)},W=[],Q=n("7948"),K={name:"BaseDropdown",inheritAttrs:!1,props:{value:{type:String,default:""}},components:{InlineChevronDownIcon:Q["a"]},computed:{modelValue:{get:({value:e})=>e,set(e){this.$emit("input",e)}},dropdownClasses({value:e}){return["form-dropdown",{"form-dropdown-selectnone":""===e,"no-eyebrow":!this.$slots.eyebrow}]}}},X=K,J=(n("ed71"),Object(_["a"])(X,G,W,!1,null,"998803d8",null)),Y=J.exports;const Z="is-open",ee="option",te="option-active";var ne={name:"DropdownCustom",components:{BaseDropdown:Y},constants:{OpenedClass:Z,OptionClass:ee,ActiveOptionClass:te},props:{value:{type:String,default:""},ariaLabel:{type:String,default:""},isSmall:{type:Boolean,default:!1}},data(){return{isOpen:!1,OpenedClass:Z,OptionClass:ee,ActiveOptionClass:te}},mounted(){document.addEventListener("click",this.closeOnLoseFocus)},beforeDestroy(){document.removeEventListener("click",this.closeOnLoseFocus)},methods:{onChangeAction(e){this.$emit("input",e)},toggleDropdown(){this.isOpen?this.closeDropdown():this.openDropdown()},async closeAndFocusToggler(){this.closeDropdown(),await this.$nextTick(),this.$refs.dropdownToggle.focus({preventScroll:!0})},closeDropdown(){this.isOpen=!1,this.$emit("close")},openDropdown(){this.isOpen=!0,this.$emit("open"),this.focusActiveLink()},closeOnLoseFocus(e){!this.$el.contains(e.target)&&this.isOpen&&this.closeDropdown()},navigateOverOptions({target:e},t){const n=this.$el.querySelectorAll("."+ee),s=Array.from(n),i=s.indexOf(e),r=s[i+t];r&&r.focus({preventScroll:!0})},async focusActiveLink(){const e=this.$el.querySelector("."+te);e&&(await this.$nextTick(),e.focus({preventScroll:!0}))}}},se=ne,ie=(n("e84c"),Object(_["a"])(se,H,z,!1,null,"12dd746a",null)),re=ie.exports,oe={name:"SecondaryDropdown",components:{DropdownCustom:re},props:{options:{type:Array,required:!0},currentOption:{type:String,required:!0},sectionTracker:{type:String,required:!1}},methods:{ariaCurrent(e){return this.currentOption===e&&"section"},setActive(e,t,n,s){t(s),this.$emit("select-section",e.path),n()}}},ae=oe,ce=(n("7f7b"),Object(_["a"])(ae,V,U,!1,null,"554d62b6",null)),le=ce.exports,ue=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("DropdownCustom",{staticClass:"tutorial-dropdown",attrs:{value:e.currentOption,"aria-label":e.$t("tutorials.nav.current",{thing:e.$tc("tutorials.title",1)}),isSmall:""},scopedSlots:e._u([{key:"default",fn:function(t){var s=t.closeAndFocusToggler,i=t.contentClasses,r=t.closeDropdown,o=t.navigateOverOptions,a=t.OptionClass,c=t.ActiveOptionClass;return[n("ul",{staticClass:"options",class:i,attrs:{tabindex:"0"}},e._l(e.options,(function(t){return n("ReferenceUrlProvider",{key:t.reference,attrs:{reference:t.reference},scopedSlots:e._u([{key:"default",fn:function(i){var l=i.title;return n("li",{staticClass:"chapter-list",attrs:{role:"group"}},[n("p",{staticClass:"chapter-name"},[e._v(e._s(l))]),n("ul",{attrs:{role:"listbox"}},e._l(t.projects,(function(t){return n("ReferenceUrlProvider",{key:t.reference,attrs:{reference:t.reference},scopedSlots:e._u([{key:"default",fn:function(t){var i=t.urlWithParams,l=t.title;return[n("router-link",{attrs:{to:i,custom:""},scopedSlots:e._u([{key:"default",fn:function(t){var i,u=t.navigate,d=t.isActive;return[n("li",{class:(i={},i[a]=!0,i[c]=d,i),attrs:{role:"option",value:l,"aria-selected":d,"aria-current":!!d&&"tutorial",tabindex:-1},on:{click:function(t){return e.setActive(u,r,t)},keydown:[function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.setActive(u,r,t)},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"esc",27,t.key,["Esc","Escape"])?null:s.apply(null,arguments)},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"tab",9,t.key,"Tab")?null:s.apply(null,arguments)},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"down",40,t.key,["Down","ArrowDown"])?null:(t.preventDefault(),o(t,1))},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"up",38,t.key,["Up","ArrowUp"])?null:(t.preventDefault(),o(t,-1))}]}},[e._v(" "+e._s(l)+" ")])]}}],null,!0)})]}}],null,!0)})})),1)])}}],null,!0)})})),1)]}}])})},de=[],pe={name:"PrimaryDropdown",components:{DropdownCustom:re,ReferenceUrlProvider:O},props:{options:{type:Array,required:!0},currentOption:{type:String,required:!0}},methods:{setActive(e,t,n){e(n),t()}}},he=pe,me=(n("9938"),Object(_["a"])(he,ue,de,!1,null,"4bddb6e6",null)),fe=me.exports;const ve={title:"Introduction",url:"#introduction",reference:"introduction",sectionNumber:0,depth:0};var be={name:"NavigationBar",components:{NavTitleContainer:q["a"],NavBase:P["a"],ReferenceUrlProvider:O,PrimaryDropdown:fe,SecondaryDropdown:le,MobileDropdown:F,ChevronIcon:S},mixins:[N["a"],T["a"]],props:{chapters:{type:Array,required:!0},technology:{type:String,required:!0},topic:{type:String,required:!0},rootReference:{type:String,required:!0},identifierUrl:{type:String,required:!0}},data(){return{currentSection:ve,tutorialState:this.store.state}},watch:{pageSectionWithHighestVisibility(e){e&&(this.currentSection=e)}},computed:{currentProject(){return this.chapters.reduce((e,{projects:t})=>e.concat(t),[]).find(e=>e.reference===this.identifierUrl)},pageSections(){if(!this.currentProject)return[];const e=[ve].concat(this.currentProject.sections);return this.tutorialState.linkableSections.map((t,n)=>{const s=e[n],i=this.references[s.reference],{url:r,title:o}=i||s;return{...t,title:o,path:r}})},optionsForSections(){return this.pageSections.map(({depth:e,path:t,title:n})=>({depth:e,path:t,title:n}))},pageSectionWithHighestVisibility(){return[...this.pageSections].sort((e,t)=>t.visibility-e.visibility).find(e=>e.visibility>0)},sectionIndicatorText(){const e=this.tutorialState.linkableSections.length-1,{sectionNumber:t}=this.currentSection||{};if(0!==t)return this.$t("tutorials.section-of",{number:t,total:e})}},methods:{onSelectSection(e){const t=e.split("#")[1];this.handleFocusAndScroll(t)}}},ge=be,ye=(n("ea88"),Object(_["a"])(ge,f,v,!1,null,"717bc942",null)),Ce=ye.exports,we=n("bf08"),_e=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"body"},[n("BodyContent",{attrs:{content:e.content}})],1)},ke=[],Se=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("article",{staticClass:"body-content"},e._l(e.content,(function(t,s){return n(e.componentFor(t),e._b({key:s,tag:"component",staticClass:"layout"},"component",e.propsFor(t),!1))})),1)},xe=[],Te=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"columns",class:e.classes},[e._l(e.columns,(function(t,s){return[n("Asset",{key:t.media,attrs:{identifier:t.media,videoAutoplays:!1}}),t.content?n("ContentNode",{key:s,attrs:{content:t.content}}):e._e()]}))],2)},Ie=[],Ae=n("80e4"),$e=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("BaseContentNode",{attrs:{content:e.articleContent}})},Oe=[],Ne=n("5677"),Pe={name:"ContentNode",components:{BaseContentNode:Ne["default"]},props:Ne["default"].props,computed:{articleContent(){return this.map(e=>{switch(e.type){case Ne["default"].BlockType.codeListing:return{...e,showLineNumbers:!0};case Ne["default"].BlockType.heading:{const{anchor:t,...n}=e;return n}default:return e}})}},methods:Ne["default"].methods,BlockType:Ne["default"].BlockType,InlineType:Ne["default"].InlineType},qe=Pe,De=(n("cb8d"),Object(_["a"])(qe,$e,Oe,!1,null,"3cfe1c35",null)),je=De.exports,Re={name:"Columns",components:{Asset:Ae["a"],ContentNode:je},props:{columns:{type:Array,required:!0}},computed:{classes(){return{"cols-2":2===this.columns.length,"cols-3":3===this.columns.length}}}},Me=Re,Be=(n("e9b0"),Object(_["a"])(Me,Te,Ie,!1,null,"30edf911",null)),Le=Be.exports,Ee=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"content-and-media",class:e.classes},[n("ContentNode",{attrs:{content:e.content}}),n("Asset",{attrs:{identifier:e.media}})],1)},Fe=[];const Ve={leading:"leading",trailing:"trailing"};var Ue={name:"ContentAndMedia",components:{Asset:Ae["a"],ContentNode:je},props:{content:je.props.content,media:Ae["a"].props.identifier,mediaPosition:{type:String,default:()=>Ve.trailing,validator:e=>Object.prototype.hasOwnProperty.call(Ve,e)}},computed:{classes(){return{"media-leading":this.mediaPosition===Ve.leading,"media-trailing":this.mediaPosition===Ve.trailing}}},MediaPosition:Ve},He=Ue,ze=(n("1006"),Object(_["a"])(He,Ee,Fe,!1,null,"3fa44f9e",null)),Ge=ze.exports,We=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"full-width"},e._l(e.groups,(function(t,s){return n(e.componentFor(t),e._b({key:s,tag:"component",staticClass:"group"},"component",e.propsFor(t),!1),[n("ContentNode",{attrs:{content:t.content}})],1)})),1)},Qe=[],Ke=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n(e.tag,{tag:"component",attrs:{id:e.anchor}},[e._t("default")],2)},Xe=[],Je=n("72e7"),Ye={name:"LinkableElement",mixins:[Je["a"]],inject:{navigationBarHeight:{default(){}},store:{default(){return{addLinkableSection(){},updateLinkableSection(){}}}}},props:{anchor:{type:String,required:!0},depth:{type:Number,default:()=>0},tag:{type:String,default:()=>"div"},title:{type:String,required:!0}},computed:{intersectionRootMargin(){const e=this.navigationBarHeight?`-${this.navigationBarHeight}px`:"0%";return e+" 0% -50% 0%"}},created(){this.store.addLinkableSection({anchor:this.anchor,depth:this.depth,title:this.title,visibility:0})},methods:{onIntersect(e){const t=Math.min(1,e.intersectionRatio);this.store.updateLinkableSection({anchor:this.anchor,depth:this.depth,title:this.title,visibility:t})}}},Ze=Ye,et=Object(_["a"])(Ze,Ke,Xe,!1,null,null,null),tt=et.exports;const{BlockType:nt}=je;var st={name:"FullWidth",components:{ContentNode:je,LinkableElement:tt},props:je.props,computed:{groups:({content:e})=>e.reduce((e,t)=>0===e.length||t.type===nt.heading?[...e,{heading:t.type===nt.heading?t:null,content:[t]}]:[...e.slice(0,e.length-1),{heading:e[e.length-1].heading,content:e[e.length-1].content.concat(t)}],[])},methods:{componentFor(e){return e.heading?tt:"div"},depthFor(e){switch(e.level){case 1:case 2:return 0;default:return 1}},propsFor(e){return e.heading?{anchor:e.heading.anchor,depth:this.depthFor(e.heading),title:e.heading.text}:{}}}},it=st,rt=(n("aece"),Object(_["a"])(it,We,Qe,!1,null,"1f2be54b",null)),ot=rt.exports;const at={columns:"columns",contentAndMedia:"contentAndMedia",fullWidth:"fullWidth"};var ct={name:"BodyContent",props:{content:{type:Array,required:!0,validator:e=>e.every(({kind:e})=>Object.prototype.hasOwnProperty.call(at,e))}},methods:{componentFor(e){return{[at.columns]:Le,[at.contentAndMedia]:Ge,[at.fullWidth]:ot}[e.kind]},propsFor(e){const{content:t,kind:n,media:s,mediaPosition:i}=e;return{[at.columns]:{columns:t},[at.contentAndMedia]:{content:t,media:s,mediaPosition:i},[at.fullWidth]:{content:t}}[n]}},LayoutKind:at},lt=ct,ut=(n("1dd5"),Object(_["a"])(lt,Se,xe,!1,null,"4d5a806e",null)),dt=ut.exports,pt={name:"Body",components:{BodyContent:dt},props:dt.props},ht=pt,mt=(n("5237"),Object(_["a"])(ht,_e,ke,!1,null,"6499e2f2",null)),ft=mt.exports,vt=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("TutorialCTA",e._b({},"TutorialCTA",e.$props,!1))},bt=[],gt=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("BaseCTA",e._b({attrs:{label:e.$t("tutorials.next")}},"BaseCTA",e.baseProps,!1))},yt=[],Ct=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"call-to-action"},[n("Row",[n("LeftColumn",[n("span",{staticClass:"label"},[e._v(e._s(e.label))]),n("h2",[e._v(" "+e._s(e.title)+" ")]),e.abstract?n("ContentNode",{staticClass:"description",attrs:{content:[e.abstractParagraph]}}):e._e(),e.action?n("Button",{attrs:{action:e.action}}):e._e()],1),n("RightColumn",{staticClass:"right-column"},[e.media?n("Asset",{staticClass:"media",attrs:{identifier:e.media}}):e._e()],1)],1)],1)},wt=[],_t=n("0f00"),kt=n("620a"),St=n("c081"),xt={name:"CallToAction",components:{Asset:Ae["a"],Button:St["a"],ContentNode:Ne["default"],LeftColumn:{render(e){return e(kt["a"],{props:{span:{large:5,small:12}}},this.$slots.default)}},RightColumn:{render(e){return e(kt["a"],{props:{span:{large:6,small:12}}},this.$slots.default)}},Row:_t["a"]},props:{title:{type:String,required:!0},label:{type:String,required:!0},abstract:{type:Array,required:!1},action:{type:Object,required:!1},media:{type:String,required:!1}},computed:{abstractParagraph(){return{type:"paragraph",inlineContent:this.abstract}}}},Tt=xt,It=(n("c7dd"),Object(_["a"])(Tt,Ct,wt,!1,null,"042a0474",null)),At=It.exports,$t={name:"CallToAction",components:{BaseCTA:At},computed:{baseProps(){return{title:this.title,abstract:this.abstract,action:this.action,media:this.media}}},props:{title:{type:String,required:!0},abstract:{type:Array,required:!1},action:{type:Object,required:!1},media:{type:String,required:!1}}},Ot=$t,Nt=Object(_["a"])(Ot,gt,yt,!1,null,null,null),Pt=Nt.exports,qt={name:"CallToAction",components:{TutorialCTA:Pt},props:Pt.props},Dt=qt,jt=(n("3e1b"),Object(_["a"])(Dt,vt,bt,!1,null,"426a965c",null)),Rt=jt.exports,Mt=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("TutorialHero",e._b({},"TutorialHero",e.$props,!1))},Bt=[],Lt=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("LinkableSection",{staticClass:"tutorial-hero",attrs:{anchor:"introduction",title:e.sectionTitle}},[n("div",{staticClass:"hero dark"},[e.backgroundImageUrl?n("div",{staticClass:"bg",style:e.bgStyle}):e._e(),e._t("above-title"),n("Row",[n("Column",[n("Headline",{attrs:{level:1}},[e.chapter?n("template",{slot:"eyebrow"},[e._v(e._s(e.chapter))]):e._e(),e._v(" "+e._s(e.title)+" ")],2),e.content||e.video?n("div",{staticClass:"intro"},[e.content?n("ContentNode",{attrs:{content:e.content}}):e._e(),e.video?[n("p",[n("a",{staticClass:"call-to-action",attrs:{href:"#"},on:{click:function(t){return t.preventDefault(),e.toggleCallToActionModal.apply(null,arguments)}}},[e._v(" Watch intro video "),n("PlayIcon",{staticClass:"cta-icon icon-inline"})],1)]),n("GenericModal",{attrs:{visible:e.callToActionModalVisible,isFullscreen:"",theme:"dark"},on:{"update:visible":function(t){e.callToActionModalVisible=t}}},[n("Asset",{directives:[{name:"show",rawName:"v-show",value:e.callToActionModalVisible,expression:"callToActionModalVisible"}],ref:"asset",staticClass:"video-asset",attrs:{identifier:e.video},on:{videoEnded:e.handleVideoEnd}})],1)]:e._e()],2):e._e(),n("Metadata",{staticClass:"metadata",attrs:{projectFilesUrl:e.projectFilesUrl,estimatedTimeInMinutes:e.estimatedTimeInMinutes,xcodeRequirement:e.xcodeRequirementData}})],1)],1)],2)])},Et=[],Ft=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"headline"},[e.$slots.eyebrow?n("span",{staticClass:"eyebrow"},[e._t("eyebrow")],2):e._e(),n("Heading",{staticClass:"heading",attrs:{level:e.level}},[e._t("default")],2)],1)},Vt=[];const Ut=1,Ht=6,zt={type:Number,required:!0,validator:e=>e>=Ut&&e<=Ht},Gt={name:"Heading",render:function(e){return e("h"+this.level,this.$slots.default)},props:{level:zt}};var Wt={name:"Headline",components:{Heading:Gt},props:{level:zt}},Qt=Wt,Kt=(n("3976"),Object(_["a"])(Qt,Ft,Vt,!1,null,"d46a1474",null)),Xt=Kt.exports,Jt=n("c161"),Yt=n("c4dd"),Zt=n("748c"),en=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"metadata"},[e.estimatedTimeInMinutes?n("div",{staticClass:"item",attrs:{"aria-label":"\n "+e.$tc("tutorials.time.minutes.full",e.estimatedTimeInMinutes,{count:e.estimatedTimeInMinutes})+"\n "+e.$t("tutorials.estimated-time")+"\n "}},[n("div",{staticClass:"content",attrs:{"aria-hidden":"true"}},[n("i18n",{staticClass:"duration",attrs:{path:"tutorials.time.format",tag:"div"},scopedSlots:e._u([{key:"number",fn:function(){return[e._v(" "+e._s(e.estimatedTimeInMinutes)+" ")]},proxy:!0},{key:"minutes",fn:function(){return[n("div",{staticClass:"minutes"},[e._v(e._s(e.$tc("tutorials.time.minutes.short",e.estimatedTimeInMinutes))+" ")])]},proxy:!0}],null,!1,3313752798)})],1),n("div",{staticClass:"bottom",attrs:{"aria-hidden":"true"}},[e._v(e._s(e.$t("tutorials.estimated-time")))])]):e._e(),e.projectFilesUrl?n("div",{staticClass:"item"},[n("DownloadIcon",{staticClass:"item-large-icon icon-inline"}),n("div",{staticClass:"content bottom"},[n("a",{staticClass:"content-link project-download",attrs:{href:e.projectFilesUrl}},[e._v(" "+e._s(e.$t("tutorials.project-files"))+" "),n("InlineDownloadIcon",{staticClass:"small-icon icon-inline"})],1)])],1):e._e(),e.xcodeRequirement?n("div",{staticClass:"item"},[n("XcodeIcon",{staticClass:"item-large-icon icon-inline"}),n("div",{staticClass:"content bottom"},[e.isTargetIDE?n("span",[e._v(e._s(e.xcodeRequirement.title))]):n("a",{staticClass:"content-link",attrs:{href:e.xcodeRequirement.url}},[e._v(" "+e._s(e.xcodeRequirement.title)+" "),n("InlineChevronRightIcon",{staticClass:"icon-inline small-icon xcode-icon"})],1)])],1):e._e()])},tn=[],nn=n("de60"),sn=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{staticClass:"xcode-icon",attrs:{viewBox:"0 0 14 14",themeId:"xcode"}},[n("path",{attrs:{d:"M2.668 4.452l-1.338-2.229 0.891-0.891 2.229 1.338 1.338 2.228 3.667 3.666 0.194-0.194 2.933 2.933c0.13 0.155 0.209 0.356 0.209 0.576 0 0.497-0.403 0.9-0.9 0.9-0.22 0-0.421-0.079-0.577-0.209l0.001 0.001-2.934-2.933 0.181-0.181-3.666-3.666z"}}),n("path",{attrs:{d:"M11.824 1.277l-0.908 0.908c-0.091 0.091-0.147 0.216-0.147 0.354 0 0.106 0.033 0.205 0.090 0.286l-0.001-0.002 0.058 0.069 0.185 0.185c0.090 0.090 0.215 0.146 0.353 0.146 0.107 0 0.205-0.033 0.286-0.090l-0.002 0.001 0.069-0.057 0.909-0.908c0.118 0.24 0.187 0.522 0.187 0.82 0 1.045-0.848 1.893-1.893 1.893-0.296 0-0.577-0.068-0.826-0.189l0.011 0.005-5.5 5.5c0.116 0.238 0.184 0.518 0.184 0.813 0 1.045-0.848 1.893-1.893 1.893-0.296 0-0.576-0.068-0.826-0.189l0.011 0.005 0.908-0.909c0.090-0.090 0.146-0.215 0.146-0.353 0-0.107-0.033-0.205-0.090-0.286l0.001 0.002-0.057-0.069-0.185-0.185c-0.091-0.091-0.216-0.147-0.354-0.147-0.106 0-0.205 0.033-0.286 0.090l0.002-0.001-0.069 0.058-0.908 0.908c-0.116-0.238-0.184-0.518-0.184-0.813 0-1.045 0.847-1.892 1.892-1.892 0.293 0 0.571 0.067 0.819 0.186l-0.011-0.005 5.5-5.5c-0.116-0.238-0.184-0.519-0.184-0.815 0-1.045 0.847-1.892 1.892-1.892 0.296 0 0.577 0.068 0.827 0.19l-0.011-0.005z"}})])},rn=[],on={name:"XcodeIcon",components:{SVGIcon:y["a"]}},an=on,cn=Object(_["a"])(an,sn,rn,!1,null,null,null),ln=cn.exports,un=n("34b0"),dn=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{staticClass:"inline-download-icon",attrs:{viewBox:"0 0 14 14",themeId:"inline-download"}},[n("path",{attrs:{d:"M7 0.5c3.59 0 6.5 2.91 6.5 6.5s-2.91 6.5-6.5 6.5c-3.59 0-6.5-2.91-6.5-6.5s2.91-6.5 6.5-6.5zM7 1.5c-3.038 0-5.5 2.462-5.5 5.5s2.462 5.5 5.5 5.5c3.038 0 5.5-2.462 5.5-5.5s-2.462-5.5-5.5-5.5z"}}),n("path",{attrs:{d:"M7.51 2.964l-0.001 5.431 1.308-2.041 0.842 0.539-2.664 4.162-2.633-4.164 0.845-0.534 1.303 2.059 0.001-5.452z"}})])},pn=[],hn={name:"InlineDownloadIcon",components:{SVGIcon:y["a"]}},mn=hn,fn=Object(_["a"])(mn,dn,pn,!1,null,null,null),vn=fn.exports,bn={name:"HeroMetadata",components:{InlineDownloadIcon:vn,InlineChevronRightIcon:un["a"],DownloadIcon:nn["a"],XcodeIcon:ln},inject:["isTargetIDE"],props:{projectFilesUrl:{type:String},estimatedTimeInMinutes:{type:Number},xcodeRequirement:{type:Object,required:!1}}},gn=bn,yn=(n("33ff"),Object(_["a"])(gn,en,tn,!1,null,"94ff76c0",null)),Cn=yn.exports,wn={name:"Hero",components:{PlayIcon:Yt["a"],GenericModal:Jt["a"],Column:{render(e){return e(kt["a"],{props:{span:{large:7,medium:9,small:12}}},this.$slots.default)}},ContentNode:Ne["default"],Headline:Xt,Metadata:Cn,Row:_t["a"],Asset:Ae["a"],LinkableSection:tt},mixins:[T["a"]],props:{title:{type:String,required:!0},chapter:{type:String},content:{type:Array},projectFiles:{type:String},estimatedTimeInMinutes:{type:Number},xcodeRequirement:{type:String,required:!1},video:{type:String},backgroundImage:{type:String}},computed:{backgroundImageUrl(){const e=this.references[this.backgroundImage]||{},{variants:t=[]}=e,n=t.find(e=>e.traits.includes("light"));return Object(Zt["c"])((n||{}).url)},projectFilesUrl(){return this.projectFiles?Object(Zt["c"])(this.references[this.projectFiles].url):null},bgStyle(){return{backgroundImage:Object(Zt["f"])(this.backgroundImageUrl)}},xcodeRequirementData(){return this.references[this.xcodeRequirement]},sectionTitle(){return"Introduction"}},data(){return{callToActionModalVisible:!1}},methods:{async toggleCallToActionModal(){this.callToActionModalVisible=!0,await this.$nextTick();const e=this.$refs.asset.$el.querySelector("video");if(e)try{await e.play(),e.muted=!1}catch(t){}},handleVideoEnd(){this.callToActionModalVisible=!1}}},_n=wn,kn=(n("7fae"),Object(_["a"])(_n,Lt,Et,!1,null,"55543c5a",null)),Sn=kn.exports,xn={name:"Hero",components:{TutorialHero:Sn},props:Sn.props},Tn=xn,In=(n("2f9d"),Object(_["a"])(Tn,Mt,Bt,!1,null,"35a9482f",null)),An=In.exports,$n=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("TutorialAssessments",e._b({},"TutorialAssessments",e.$props,!1),[n("p",{attrs:{slot:"success"},slot:"success"},[e._v("Great job, you've answered all the questions for this article.")])])},On=[],Nn=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("LinkableSection",{staticClass:"assessments-wrapper",attrs:{anchor:e.anchor,title:e.title}},[n("Row",{ref:"assessments",staticClass:"assessments"},[n("MainColumn",[n("Row",{staticClass:"banner"},[n("HeaderColumn",[n("h2",{staticClass:"title"},[e._v(e._s(e.title))])])],1),e.completed?n("div",{staticClass:"success"},[e._t("success",(function(){return[n("p",[e._v(e._s(e.SuccessMessage))])]}))],2):n("div",[n("Progress",e._b({ref:"progress"},"Progress",e.progress,!1)),n("Quiz",{key:e.activeIndex,attrs:{choices:e.activeAssessment.choices,content:e.activeAssessment.content,isLast:e.isLast,title:e.activeAssessment.title},on:{submit:e.onSubmit,advance:e.onAdvance,"see-results":e.onSeeResults}})],1),n("div",{staticClass:"visuallyhidden",attrs:{"aria-live":"assertive"}},[e.completed?e._t("success",(function(){return[e._v(" "+e._s(e.SuccessMessage)+" ")]})):e._e()],2)],1)],1)],1)},Pn=[],qn=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("Row",[n("p",{staticClass:"title"},[e._v(e._s(e.$t("tutorials.question-of",{index:e.index,total:e.total})))])])},Dn=[],jn={name:"AssessmentsProgress",components:{Row:_t["a"]},props:{index:{type:Number,required:!0},total:{type:Number,required:!0}}},Rn=jn,Mn=(n("6866"),Object(_["a"])(Rn,qn,Dn,!1,null,"28135d78",null)),Bn=Mn.exports,Ln=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"quiz"},[n("ContentNode",{staticClass:"title",attrs:{content:e.title}}),e.content?n("ContentNode",{staticClass:"question-content",attrs:{content:e.content}}):e._e(),n("div",{staticClass:"choices"},[e._l(e.choices,(function(t,s){return n("label",{key:s,class:e.choiceClasses[s]},[n(e.getIconComponent(s),{tag:"component",staticClass:"choice-icon"}),n("input",{directives:[{name:"model",rawName:"v-model",value:e.selectedIndex,expression:"selectedIndex"}],attrs:{type:"radio",name:"assessment"},domProps:{value:s,checked:e._q(e.selectedIndex,s)},on:{change:function(t){e.selectedIndex=s}}}),n("ContentNode",{staticClass:"question",attrs:{content:t.content}}),e.userChoices[s].checked?[n("ContentNode",{staticClass:"answer",attrs:{content:t.justification}}),t.reaction?n("p",{staticClass:"answer"},[e._v(e._s(t.reaction))]):e._e()]:e._e()],2)})),n("div",{staticClass:"visuallyhidden",attrs:{"aria-live":"assertive"}},[e._v(" "+e._s(e.ariaLiveText)+" ")])],2),n("div",{staticClass:"controls"},[n("ButtonLink",{staticClass:"check",attrs:{disabled:null===e.selectedIndex||e.showNextQuestion},nativeOn:{click:function(t){return e.submit.apply(null,arguments)}}},[e._v(" "+e._s(e.$t("tutorials.submit"))+" ")]),e.isLast?n("ButtonLink",{staticClass:"results",attrs:{disabled:!e.showNextQuestion},nativeOn:{click:function(t){return e.seeResults.apply(null,arguments)}}},[e._v(" "+e._s(e.$t("tutorials.next"))+" ")]):n("ButtonLink",{staticClass:"next",attrs:{disabled:!e.showNextQuestion},nativeOn:{click:function(t){return e.advance.apply(null,arguments)}}},[e._v(" "+e._s(e.$t("tutorials.assessment.next-question"))+" ")])],1)],1)},En=[],Fn=n("76ab"),Vn=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{staticClass:"reset-circle-icon",attrs:{viewBox:"0 0 14 14",themeId:"reset-circle"}},[n("path",{attrs:{d:"M7 0.5c3.59 0 6.5 2.91 6.5 6.5s-2.91 6.5-6.5 6.5c-3.59 0-6.5-2.91-6.5-6.5v0c0-3.59 2.91-6.5 6.5-6.5v0zM7 1.5c-3.038 0-5.5 2.462-5.5 5.5s2.462 5.5 5.5 5.5c3.038 0 5.5-2.462 5.5-5.5v0c0-3.038-2.462-5.5-5.5-5.5v0z"}}),n("path",{attrs:{d:"M3.828 4.539l0.707-0.707 5.657 5.657-0.707 0.707-5.657-5.657z"}}),n("path",{attrs:{d:"M3.828 9.489l5.657-5.657 0.707 0.707-5.657 5.657-0.707-0.707z"}})])},Un=[],Hn={name:"ResetCircleIcon",components:{SVGIcon:y["a"]}},zn=Hn,Gn=Object(_["a"])(zn,Vn,Un,!1,null,null,null),Wn=Gn.exports,Qn=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{staticClass:"check-circle-icon",attrs:{viewBox:"0 0 14 14",themeId:"check-circle"}},[n("path",{attrs:{d:"M7 0.5c3.59 0 6.5 2.91 6.5 6.5s-2.91 6.5-6.5 6.5c-3.59 0-6.5-2.91-6.5-6.5v0c0-3.59 2.91-6.5 6.5-6.5v0zM7 1.5c-3.038 0-5.5 2.462-5.5 5.5s2.462 5.5 5.5 5.5c3.038 0 5.5-2.462 5.5-5.5v0c0-3.038-2.462-5.5-5.5-5.5v0z"}}),n("path",{attrs:{d:"M9.626 3.719l0.866 0.5-3.5 6.062-3.464-2 0.5-0.866 2.6 1.5z"}})])},Kn=[],Xn={name:"CheckCircleIcon",components:{SVGIcon:y["a"]}},Jn=Xn,Yn=Object(_["a"])(Jn,Qn,Kn,!1,null,null,null),Zn=Yn.exports,es={name:"Quiz",components:{CheckCircleIcon:Zn,ResetCircleIcon:Wn,ContentNode:Ne["default"],ButtonLink:Fn["a"]},props:{content:{type:Array,required:!1},choices:{type:Array,required:!0},isLast:{type:Boolean,default:!1},title:{type:Array,required:!0}},data(){return{userChoices:this.choices.map(()=>({checked:!1})),selectedIndex:null,checkedIndex:null}},computed:{correctChoices(){return this.choices.reduce((e,t,n)=>t.isCorrect?e.add(n):e,new Set)},choiceClasses(){return this.userChoices.map((e,t)=>({choice:!0,active:this.selectedIndex===t,disabled:e.checked||this.showNextQuestion,correct:e.checked&&this.choices[t].isCorrect,incorrect:e.checked&&!this.choices[t].isCorrect}))},showNextQuestion(){return Array.from(this.correctChoices).every(e=>this.userChoices[e].checked)},ariaLiveText(){if(null===this.checkedIndex)return"";const{isCorrect:e}=this.choices[this.checkedIndex];return`${this.$t("tutorials.assessment.answer-number-is",{index:this.checkedIndex+1})} ${e?this.$t("tutorials.assessment.correct"):this.$t("tutorials.assessment.incorrect")}\n `}},methods:{getIconComponent(e){const t=this.userChoices[e];if(t&&t.checked)return this.choices[e].isCorrect?Zn:Wn},submit(){this.$set(this.userChoices,this.selectedIndex,{checked:!0}),this.checkedIndex=this.selectedIndex,this.$emit("submit")},advance(){this.$emit("advance")},seeResults(){this.$emit("see-results")}}},ts=es,ns=(n("0503"),Object(_["a"])(ts,Ln,En,!1,null,"19ed40e2",null)),ss=ns.exports;const is=12,rs="tutorials.assessment.success-message";var os={name:"Assessments",constants:{SuccessMessage:rs},components:{LinkableSection:tt,Quiz:ss,Progress:Bn,Row:_t["a"],HeaderColumn:{render(e){return e(kt["a"],{props:{isCentered:{large:!0},span:{large:10}}},this.$slots.default)}},MainColumn:{render(e){return e(kt["a"],{props:{isCentered:{large:!0},span:{large:10,medium:10,small:12}}},this.$slots.default)}}},props:{assessments:{type:Array,required:!0},anchor:{type:String,required:!0}},inject:["navigationBarHeight"],data(){return{activeIndex:0,completed:!1,SuccessMessage:this.$t(rs)}},computed:{activeAssessment(){return this.assessments[this.activeIndex]},isLast(){return this.activeIndex===this.assessments.length-1},progress(){return{index:this.activeIndex+1,total:this.assessments.length}},title(){return this.$t("tutorials.assessment.check-your-understanding")}},methods:{scrollTo(e,t=0){e.scrollIntoView(!0),window.scrollBy(0,-this.navigationBarHeight-t)},onSubmit(){this.$nextTick(()=>{this.scrollTo(this.$refs.progress.$el,is)})},onAdvance(){this.activeIndex+=1,this.$nextTick(()=>{this.scrollTo(this.$refs.progress.$el,is)})},onSeeResults(){this.completed=!0,this.$nextTick(()=>{this.scrollTo(this.$refs.assessments.$el,is)})}}},as=os,cs=(n("da20"),Object(_["a"])(as,Nn,Pn,!1,null,"65e3c02c",null)),ls=cs.exports,us={name:"Assessments",components:{TutorialAssessments:ls},props:ls.props},ds=us,ps=(n("f264"),Object(_["a"])(ds,$n,On,!1,null,"3c94366b",null)),hs=ps.exports;const ms={articleBody:"articleBody",callToAction:"callToAction",hero:"hero",assessments:"assessments"};var fs={name:"Article",components:{NavigationBar:Ce,PortalTarget:h["PortalTarget"]},mixins:[we["a"]],inject:{isTargetIDE:{default:!1},store:{default(){return{reset(){},setReferences(){}}}}},props:{hierarchy:{type:Object,required:!0},metadata:{type:Object,required:!0},references:{type:Object,required:!0},sections:{type:Array,required:!0,validator:e=>e.every(({kind:e})=>Object.prototype.hasOwnProperty.call(ms,e))},identifierUrl:{type:String,required:!0}},computed:{heroSection(){return this.sections.find(this.isHero)},heroTitle(){return(this.heroSection||{}).title},pageTitle(){return this.heroTitle?`${this.heroTitle} — ${this.metadata.category} Tutorials`:void 0},pageDescription:({heroSection:e,extractFirstParagraphText:t})=>e?t(e.content):null},methods:{componentFor(e){const{kind:t}=e;return{[ms.articleBody]:ft,[ms.callToAction]:Rt,[ms.hero]:An,[ms.assessments]:hs}[t]},isHero(e){return e.kind===ms.hero},propsFor(e){const{abstract:t,action:n,anchor:s,assessments:i,backgroundImage:r,chapter:o,content:a,estimatedTimeInMinutes:c,kind:l,media:u,projectFiles:d,title:p,video:h,xcodeRequirement:m}=e;return{[ms.articleBody]:{content:a},[ms.callToAction]:{abstract:t,action:n,media:u,title:p},[ms.hero]:{backgroundImage:r,chapter:o,content:a,estimatedTimeInMinutes:c,projectFiles:d,title:p,video:h,xcodeRequirement:m},[ms.assessments]:{anchor:s,assessments:i}}[l]}},created(){m["a"].setAvailableLocales(this.metadata.availableLocales),this.store.reset(),this.store.setReferences(this.references)},watch:{references(e){this.store.setReferences(e)},"metadata.availableLocales":function(e){m["a"].setAvailableLocales(e)}},SectionKind:ms},vs=fs,bs=(n("79ef"),Object(_["a"])(vs,d,p,!1,null,"7d4562ea",null)),gs=bs.exports,ys=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"tutorial"},[e.isTargetIDE?e._e():n("NavigationBar",{attrs:{technology:e.metadata.category,chapters:e.hierarchy.modules,topic:e.tutorialTitle||"",rootReference:e.hierarchy.reference,identifierUrl:e.identifierUrl}}),n("main",{attrs:{id:"main",role:"main",tabindex:"0"}},[e._l(e.sections,(function(e,t){return n("Section",{key:t,attrs:{section:e}})})),n("BreakpointEmitter",{on:{change:e.handleBreakpointChange}})],2),n("PortalTarget",{attrs:{name:"modal-destination",multiple:""}})],1)},Cs=[],ws=n("66c9"),_s=n("7689"),ks=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"sections"},e._l(e.tasks,(function(t,s){return n("Section",e._b({key:s,attrs:{id:t.anchor,sectionNumber:s+1,isRuntimePreviewVisible:e.isRuntimePreviewVisible},on:{"runtime-preview-toggle":e.onRuntimePreviewToggle}},"Section",t,!1))})),1)},Ss=[],xs=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("LinkableSection",{staticClass:"section",attrs:{anchor:e.anchor,title:e.introProps.title}},[n("Intro",e._b({},"Intro",e.introProps,!1)),e.stepsSection.length>0?n("Steps",{attrs:{content:e.stepsSection,isRuntimePreviewVisible:e.isRuntimePreviewVisible,sectionNumber:e.sectionNumber},on:{"runtime-preview-toggle":e.onRuntimePreviewToggle}}):e._e()],1)},Ts=[],Is=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"intro-container"},[n("Row",{class:["intro","intro-"+e.sectionNumber,{ide:e.isTargetIDE}]},[n("Column",{staticClass:"left"},[n("Headline",{attrs:{level:2}},[n("router-link",{attrs:{slot:"eyebrow",to:e.sectionLink},slot:"eyebrow"},[e._v(" "+e._s(e.$t("sections.title",{number:e.sectionNumber}))+" ")]),e._v(" "+e._s(e.title)+" ")],1),n("ContentNode",{attrs:{content:e.content}})],1),n("Column",{staticClass:"right"},[n("div",{staticClass:"media"},[e.media?n("Asset",{attrs:{identifier:e.media,showsReplayButton:!e.isClientMobile,showsVideoControls:e.isClientMobile,videoAutoplays:!e.isClientMobile}}):e._e()],1)])],1),e.expandedSections.length>0?n("ExpandedIntro",{staticClass:"expanded-intro",attrs:{content:e.expandedSections}}):e._e()],1)},As=[],$s={name:"SectionIntro",inject:{isClientMobile:{default:()=>!1},isTargetIDE:{default:()=>!1}},components:{Asset:Ae["a"],ContentNode:Ne["default"],ExpandedIntro:dt,Headline:Xt,Row:_t["a"],Column:{render(e){return e(kt["a"],{props:{span:{large:6,small:12}}},this.$slots.default)}}},props:{sectionAnchor:{type:String,required:!0},content:{type:Array,required:!0},media:{type:String,required:!0},title:{type:String,required:!0},sectionNumber:{type:Number,required:!0},expandedSections:{type:Array,default:()=>[]}},methods:{focus(){this.$emit("focus",this.media)}},computed:{sectionLink(){return{path:this.$route.path,hash:this.sectionAnchor,query:this.$route.query}}}},Os=$s,Ns=(n("257c"),Object(_["a"])(Os,Is,As,!1,null,"7f9a8f65",null)),Ps=Ns.exports,qs=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"steps"},[n("div",{staticClass:"content-container"},e._l(e.contentNodes,(function(t,s){return n(t.component,e._b({key:s,ref:"contentNodes",refInFor:!0,tag:"component",class:e.contentClass(s),attrs:{currentIndex:e.activeStep}},"component",t.props,!1))})),1),e.isBreakpointSmall?e._e():n("BackgroundTheme",{staticClass:"asset-container",class:e.assetContainerClasses},[n("transition",{attrs:{name:"fade"}},[e.visibleAsset.media?n("div",{key:e.visibleAsset.media,class:["asset-wrapper",{ide:e.isTargetIDE}]},[n("Asset",{ref:"asset",staticClass:"step-asset",attrs:{identifier:e.visibleAsset.media,showsReplayButton:"",showsVideoControls:!1}})],1):e._e(),e.visibleAsset.code?n("CodePreview",{attrs:{code:e.visibleAsset.code,preview:e.visibleAsset.runtimePreview,isRuntimePreviewVisible:e.isRuntimePreviewVisible},on:{"runtime-preview-toggle":e.onRuntimePreviewToggle}},[e.visibleAsset.runtimePreview?n("transition",{attrs:{name:"fade"}},[n("Asset",{key:e.visibleAsset.runtimePreview,attrs:{identifier:e.visibleAsset.runtimePreview}})],1):e._e()],1):e._e()],1)],1)],1)},Ds=[],js=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{class:["code-preview",{ide:e.isTargetIDE}]},[n("CodeTheme",[e.code?n("CodeListing",e._b({attrs:{showLineNumbers:""}},"CodeListing",e.codeProps,!1)):e._e()],1),n("div",{staticClass:"runtime-preview",class:e.runtimePreviewClasses,style:e.previewStyles},[n("div",{staticClass:"runtimve-preview__container"},[n("button",{staticClass:"header",attrs:{disabled:!e.hasRuntimePreview,title:e.runtimePreviewTitle},on:{click:e.togglePreview}},[n("span",{staticClass:"runtime-preview-label",attrs:{"aria-label":e.textAriaLabel}},[e._v(e._s(e.togglePreviewText))]),n("DiagonalArrowIcon",{staticClass:"icon-inline preview-icon",class:[e.shouldDisplayHideLabel?"preview-hide":"preview-show"]})],1),n("transition",{on:{leave:e.handleLeave}},[n("div",{directives:[{name:"show",rawName:"v-show",value:e.shouldDisplayHideLabel,expression:"shouldDisplayHideLabel"}],staticClass:"runtime-preview-asset"},[e._t("default")],2)])],1)])],1)},Rs=[],Ms=n("7b69"),Bs=n("6667"),Ls=n("8590");const{BreakpointName:Es}=o["a"].constants;function Fs({width:e,height:t},n=1){const s=400,i=e<=s?1.75:3;return{width:e/(i/n),height:t/(i/n)}}var Vs={name:"CodePreview",inject:{isTargetIDE:{default:!1},store:{default(){return{state:{references:{}}}}}},components:{DiagonalArrowIcon:Bs["a"],CodeListing:Ms["a"],CodeTheme:Ls["a"]},props:{code:{type:String,required:!0},preview:{type:String,required:!1},isRuntimePreviewVisible:{type:Boolean,required:!0}},data(){return{tutorialState:this.store.state}},computed:{references:({tutorialState:e})=>e.references,currentBreakpoint(){return this.tutorialState.breakpoint},hasRuntimePreview(){return!!this.preview},previewAssetSize(){const e=this.hasRuntimePreview?this.references[this.preview]:{},t=(e.variants||[{}])[0]||{},n={width:900};let s=t.size||{};s.width||s.height||(s=n);const i=this.currentBreakpoint===Es.medium?.8:1;return Fs(s,i)},previewSize(){const e={width:102};return this.shouldDisplayHideLabel&&this.previewAssetSize?{width:this.previewAssetSize.width}:e},previewStyles(){const{width:e}=this.previewSize;return{width:e+"px"}},codeProps(){return this.references[this.code]},runtimePreviewClasses(){return{collapsed:!this.shouldDisplayHideLabel,disabled:!this.hasRuntimePreview,"runtime-preview-ide":this.isTargetIDE}},shouldDisplayHideLabel(){return this.hasRuntimePreview&&this.isRuntimePreviewVisible},runtimePreviewTitle(){return this.hasRuntimePreview?null:this.$t("tutorials.preview.no-preview-available-step")},togglePreviewText(){return this.$tc("tutorials.preview.title",this.hasRuntimePreview?1:0)},textAriaLabel(){return`${this.togglePreviewText}, ${this.shouldDisplayHideLabel?this.$t("verbs.hide"):this.$t("verbs.show")}`}},methods:{handleLeave(e,t){setTimeout(t,200)},togglePreview(){this.hasRuntimePreview&&this.$emit("runtime-preview-toggle",!this.isRuntimePreviewVisible)}}},Us=Vs,Hs=(n("b27b"),Object(_["a"])(Us,js,Rs,!1,null,"4f53426a",null)),zs=Hs.exports,Gs=n("3908"),Ws=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{style:e.backgroundStyle},[e._t("default")],2)},Qs=[],Ks={name:"BackgroundTheme",data(){return{codeThemeState:ws["a"].state}},computed:{backgroundStyle(){const{codeColors:e}=this.codeThemeState;return e?{"--background":e.background}:null}}},Xs=Ks,Js=Object(_["a"])(Xs,Ws,Qs,!1,null,null,null),Ys=Js.exports,Zs=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{class:["step-container","step-"+e.stepNumber]},[n("div",{ref:"step",staticClass:"step",class:{focused:e.isActive},attrs:{"data-index":e.index}},[n("p",{staticClass:"step-label"},[e._v(e._s(e.$t("tutorials.step",{number:e.stepNumber})))]),n("ContentNode",{attrs:{content:e.content}}),e.caption&&e.caption.length>0?n("ContentNode",{staticClass:"caption",attrs:{content:e.caption}}):e._e()],1),e.isBreakpointSmall||!e.isTargetIDE?n("div",{staticClass:"media-container"},[e.media?n("Asset",{attrs:{identifier:e.media,showsReplayButton:!e.isClientMobile,showsVideoControls:e.isClientMobile,videoAutoplays:!e.isClientMobile}}):e._e(),e.code?n("MobileCodePreview",{attrs:{code:e.code}},[e.runtimePreview?n("Asset",{staticClass:"preview",attrs:{identifier:e.runtimePreview}}):e._e()],1):e._e()],1):e._e()])},ei=[],ti=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("BackgroundTheme",{staticClass:"mobile-code-preview"},[e.code?n("GenericModal",{staticClass:"full-code-listing-modal",attrs:{theme:e.isTargetIDE?"code":"light",codeBackgroundColorOverride:e.modalBackgroundColor,isFullscreen:"",visible:e.fullCodeIsVisible},on:{"update:visible":function(t){e.fullCodeIsVisible=t}}},[n("div",{staticClass:"full-code-listing-modal-content"},[n("CodeTheme",[n("CodeListing",e._b({staticClass:"full-code-listing",attrs:{showLineNumbers:""}},"CodeListing",e.codeProps,!1))],1)],1)]):e._e(),n("CodeTheme",[e.code?n("MobileCodeListing",e._b({attrs:{showLineNumbers:""},on:{"file-name-click":e.toggleFullCode}},"MobileCodeListing",e.codeProps,!1)):e._e()],1),n("CodeTheme",{staticClass:"preview-toggle-container"},[n("PreviewToggle",{attrs:{isActionable:!!e.$slots.default},on:{click:e.togglePreview}})],1),e.$slots.default?n("GenericModal",{staticClass:"runtime-preview-modal",attrs:{theme:e.isTargetIDE?"dynamic":"light",isFullscreen:"",visible:e.previewIsVisible},on:{"update:visible":function(t){e.previewIsVisible=t}}},[n("div",{staticClass:"runtime-preview-modal-content"},[n("span",{staticClass:"runtime-preview-label"},[e._v(e._s(e.$tc("tutorials.preview.title",1)))]),e._t("default")],2)]):e._e()],1)},ni=[],si=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"code-listing-preview",attrs:{"data-syntax":e.syntax}},[n("CodeListing",{attrs:{fileName:e.fileName,syntax:e.syntax,fileType:e.fileType,content:e.previewedLines,startLineNumber:e.displayedRange.start,highlights:e.highlights,showLineNumbers:"",isFileNameActionable:""},on:{"file-name-click":function(t){return e.$emit("file-name-click")}}})],1)},ii=[],ri={name:"MobileCodeListing",components:{CodeListing:Ms["a"]},props:{fileName:String,syntax:String,fileType:String,content:{type:Array,required:!0},highlights:{type:Array,default:()=>[]}},computed:{highlightedLineNumbers(){return new Set(this.highlights.map(({line:e})=>e))},firstHighlightRange(){if(0===this.highlightedLineNumbers.size)return{start:1,end:this.content.length};const e=Math.min(...this.highlightedLineNumbers.values());let t=e;while(this.highlightedLineNumbers.has(t+1))t+=1;return{start:e,end:t}},displayedRange(){const e=this.firstHighlightRange,t=e.start-2<1?1:e.start-2,n=e.end+3>=this.content.length+1?this.content.length+1:e.end+3;return{start:t,end:n}},previewedLines(){return this.content.slice(this.displayedRange.start-1,this.displayedRange.end-1)}}},oi=ri,ai=(n("fae5"),Object(_["a"])(oi,si,ii,!1,null,"5ad4e037",null)),ci=ai.exports,li=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("span",{staticClass:"toggle-preview"},[e.isActionable?n("a",{staticClass:"toggle-text",attrs:{href:"#"},on:{click:function(t){return t.preventDefault(),e.$emit("click")}}},[e._v(" "+e._s(e.$tc("tutorials.preview.title",1))+" "),n("InlinePlusCircleIcon",{staticClass:"toggle-icon icon-inline"})],1):n("span",{staticClass:"toggle-text"},[e._v(" "+e._s(e.$tc("tutorials.preview.title",0))+" ")])])},ui=[],di=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{staticClass:"inline-plus-circle-icon",attrs:{viewBox:"0 0 14 14",themeId:"inline-plus-circle"}},[n("path",{attrs:{d:"M7 0.5c3.59 0 6.5 2.91 6.5 6.5s-2.91 6.5-6.5 6.5c-3.59 0-6.5-2.91-6.5-6.5v0c0-3.59 2.91-6.5 6.5-6.5v0zM7 1.5c-3.038 0-5.5 2.462-5.5 5.5s2.462 5.5 5.5 5.5c3.038 0 5.5-2.462 5.5-5.5v0c0-3.038-2.462-5.5-5.5-5.5v0z"}}),n("path",{attrs:{d:"M4 6.52h6v1h-6v-1z"}}),n("path",{attrs:{d:"M6.5 4.010h1v6h-1v-6z"}})])},pi=[],hi={name:"InlinePlusCircleIcon",components:{SVGIcon:y["a"]}},mi=hi,fi=Object(_["a"])(mi,di,pi,!1,null,null,null),vi=fi.exports,bi={name:"MobileCodePreviewToggle",components:{InlinePlusCircleIcon:vi},props:{isActionable:{type:Boolean,required:!0}}},gi=bi,yi=(n("bf0a"),Object(_["a"])(gi,li,ui,!1,null,"78763c14",null)),Ci=yi.exports,wi={name:"MobileCodePreview",inject:["isTargetIDE"],mixins:[T["a"]],components:{GenericModal:Jt["a"],CodeListing:Ms["a"],MobileCodeListing:ci,PreviewToggle:Ci,CodeTheme:Ls["a"],BackgroundTheme:Ys},props:{code:{type:String,required:!0}},computed:{codeProps(){return this.references[this.code]},modalBackgroundColor(){const{codeColors:e}=this.store.state;return e?e.background:null}},data(){return{previewIsVisible:!1,fullCodeIsVisible:!1}},methods:{togglePreview(){this.previewIsVisible=!this.previewIsVisible},toggleFullCode(){this.fullCodeIsVisible=!this.fullCodeIsVisible}}},_i=wi,ki=(n("3fcc"),Object(_["a"])(_i,ti,ni,!1,null,"1aed4baa",null)),Si=ki.exports;const{BreakpointName:xi}=o["a"].constants;var Ti={name:"Step",components:{Asset:Ae["a"],MobileCodePreview:Si,ContentNode:Ne["default"]},inject:["isTargetIDE","isClientMobile","store"],props:{code:{type:String,required:!1},content:{type:Array,required:!0},caption:{type:Array,required:!1},media:{type:String,required:!1},runtimePreview:{type:String,required:!1},sectionNumber:{type:Number,required:!0},stepNumber:{type:Number,required:!0},numberOfSteps:{type:Number,required:!0},index:{type:Number,required:!0},currentIndex:{type:Number,required:!0}},data(){return{tutorialState:this.store.state}},computed:{isBreakpointSmall(){return this.tutorialState.breakpoint===xi.small},isActive:({index:e,currentIndex:t})=>e===t}},Ii=Ti,Ai=(n("c643"),Object(_["a"])(Ii,Zs,ei,!1,null,"eb45ec92",null)),$i=Ai.exports;const{BreakpointName:Oi}=o["a"].constants,{IntersectionDirections:Ni}=Je["a"].constants,Pi="-35% 0% -65% 0%";var qi={name:"SectionSteps",components:{ContentNode:Ne["default"],Step:$i,Asset:Ae["a"],CodePreview:zs,BackgroundTheme:Ys},mixins:[Je["a"]],constants:{IntersectionMargins:Pi},inject:["isTargetIDE","store"],data(){const e=this.content.findIndex(this.isStepNode),{code:t,media:n,runtimePreview:s}=this.content[e]||{};return{tutorialState:this.store.state,visibleAsset:{media:n,code:t,runtimePreview:s},activeStep:e}},computed:{assetContainerClasses(){return{"for-step-code":!!this.visibleAsset.code,ide:this.isTargetIDE}},numberOfSteps(){return this.content.filter(this.isStepNode).length},contentNodes(){return this.content.reduce(({stepCounter:e,nodes:t},n,s)=>{const{type:i,...r}=n,o=this.isStepNode(n),a=o?e+1:e;return o?{stepCounter:e+1,nodes:t.concat({component:$i,type:i,props:{...r,stepNumber:a,index:s,numberOfSteps:this.numberOfSteps,sectionNumber:this.sectionNumber}})}:{stepCounter:e,nodes:t.concat({component:Ne["default"],type:i,props:{content:[n]}})}},{stepCounter:0,nodes:[]}).nodes},isBreakpointSmall(){return this.tutorialState.breakpoint===Oi.small},stepNodes:({contentNodes:e,isStepNode:t})=>e.filter(t),intersectionRootMargin:()=>Pi},async mounted(){await Object(Gs["b"])(8),this.findClosestStepNode()},methods:{isStepNode({type:e}){return"step"===e},contentClass(e){return{["interstitial interstitial-"+(e+1)]:!this.isStepNode(this.content[e])}},onReverseIntoLastStep(){const{asset:e}=this.$refs;if(e){const t=e.$el.querySelector("video");t&&(t.currentTime=0,t.play().catch(()=>{}))}},onFocus(e){const{code:t,media:n,runtimePreview:s}=this.content[e];this.activeStep=e,this.visibleAsset={code:t,media:n,runtimePreview:s}},onRuntimePreviewToggle(e){this.$emit("runtime-preview-toggle",e)},findClosestStepNode(){const e=.333*window.innerHeight;let t=null,n=0;this.stepNodes.forEach(s=>{const{index:i}=s.props,r=this.$refs.contentNodes[i].$refs.step;if(!r)return;const{top:o,bottom:a}=r.getBoundingClientRect(),c=o-e,l=a-e,u=Math.abs(c+l);(0===n||u<=n)&&(n=u,t=i)}),null!==t&&this.onFocus(t)},getIntersectionTargets(){const{stepNodes:e,$refs:t}=this;return e.map(({props:{index:e}})=>t.contentNodes[e].$refs.step)},onIntersect(e){const{target:t,isIntersecting:n}=e;if(!n)return;const s=parseFloat(t.getAttribute("data-index"));this.intersectionScrollDirection===Ni.down&&s===this.stepNodes[this.stepNodes.length-1].props.index&&this.onReverseIntoLastStep(),this.onFocus(s)}},props:{content:{type:Array,required:!0},isRuntimePreviewVisible:{type:Boolean,require:!0},sectionNumber:{type:Number,required:!0}}},Di=qi,ji=(n("d4f3"),Object(_["a"])(Di,qs,Ds,!1,null,"2786be2a",null)),Ri=ji.exports,Mi={name:"Section",components:{Intro:Ps,LinkableSection:tt,Steps:Ri},computed:{introProps(){const[{content:e,media:t},...n]=this.contentSection;return{content:e,expandedSections:n,media:t,sectionAnchor:this.anchor,sectionNumber:this.sectionNumber,title:this.title}}},props:{anchor:{type:String,required:!0},title:{type:String,required:!0},contentSection:{type:Array,required:!0},stepsSection:{type:Array,required:!0},sectionNumber:{type:Number,required:!0},isRuntimePreviewVisible:{type:Boolean,required:!0}},methods:{onRuntimePreviewToggle(e){this.$emit("runtime-preview-toggle",e)}}},Bi=Mi,Li=(n("9dc4"),Object(_["a"])(Bi,xs,Ts,!1,null,"6b3a0b3a",null)),Ei=Li.exports,Fi={name:"SectionList",components:{Section:Ei},data(){return{isRuntimePreviewVisible:!0}},props:{tasks:{type:Array,required:!0}},methods:{onRuntimePreviewToggle(e){this.isRuntimePreviewVisible=e}}},Vi=Fi,Ui=(n("4d07"),Object(_["a"])(Vi,ks,Ss,!1,null,"79a75e9e",null)),Hi=Ui.exports;const zi={assessments:ls,hero:Sn,tasks:Hi,callToAction:Pt},Gi=new Set(Object.keys(zi)),Wi={name:"TutorialSection",render:function(e){const{kind:t,...n}=this.section,s=zi[t];return s?e(s,{props:n}):null},props:{section:{type:Object,required:!0,validator:e=>Gi.has(e.kind)}}};var Qi={name:"Tutorial",mixins:[we["a"],_s["a"]],components:{NavigationBar:Ce,Section:Wi,PortalTarget:h["PortalTarget"],BreakpointEmitter:o["a"]},inject:["isTargetIDE","store"],computed:{heroSection(){return this.sections.find(({kind:e})=>"hero"===e)},tutorialTitle(){return(this.heroSection||{}).title},pageTitle(){return this.tutorialTitle?`${this.tutorialTitle} — ${this.metadata.category} Tutorials`:void 0},pageDescription:({heroSection:e,extractFirstParagraphText:t})=>e?t(e.content):null},props:{sections:{type:Array,required:!0},references:{type:Object,required:!0},hierarchy:{type:Object,required:!0},metadata:{type:Object,required:!0},identifierUrl:{type:String,required:!0}},methods:{handleBreakpointChange(e){this.store.updateBreakpoint(e)},handleCodeColorsChange(e){ws["a"].updateCodeColors(e)}},created(){m["a"].setAvailableLocales(this.metadata.availableLocales),this.store.reset(),this.store.setReferences(this.references)},watch:{references(e){this.store.setReferences(e)},"metadata.availableLocales":function(e){m["a"].setAvailableLocales(e)}},mounted(){this.$bridge.on("codeColors",this.handleCodeColorsChange),this.$bridge.send({type:"requestCodeColors"})},provide(){return{isClientMobile:this.isClientMobile}},beforeDestroy(){this.$bridge.off("codeColors",this.handleCodeColorsChange)}},Ki=Qi,Xi=(n("424f"),Object(_["a"])(Ki,ys,Cs,!1,null,"611d0574",null)),Ji=Xi.exports,Yi=n("0caf"),Zi=n("146e");const er={article:"article",tutorial:"project"};var tr={name:"Topic",inject:{isTargetIDE:{default:!1}},mixins:[Yi["a"],Zi["a"]],data(){return{topicData:null}},computed:{navigationBarHeight(){return this.isTargetIDE?0:52},store(){return u},hierarchy(){const{hierarchy:e={}}=this.topicData,{technologyNavigation:t=["overview","tutorials","resources"]}=e||{};return{...e,technologyNavigation:t}},topicKey:({$route:e,topicData:t})=>[e.path,t.identifier.interfaceLanguage].join()},beforeRouteEnter(e,t,n){e.meta.skipFetchingData?n(e=>e.newContentMounted()):Object(r["c"])(e,t,n).then(e=>n(t=>{t.topicData=e})).catch(n)},beforeRouteUpdate(e,t,n){Object(r["e"])(e,t)?Object(r["c"])(e,t,n).then(e=>{this.topicData=e,n()}).catch(n):n()},created(){this.store.reset()},mounted(){this.$bridge.on("contentUpdate",this.handleContentUpdateFromBridge)},beforeDestroy(){this.$bridge.off("contentUpdate",this.handleContentUpdateFromBridge)},methods:{componentFor(e){const{kind:t}=e;return{[er.article]:gs,[er.tutorial]:Ji}[t]},propsFor(e){const{hierarchy:t,kind:n,metadata:s,references:i,sections:r,identifier:o}=e;return{[er.article]:{hierarchy:t,metadata:s,references:i,sections:r,identifierUrl:o.url},[er.tutorial]:{hierarchy:t,metadata:s,references:i,sections:r,identifierUrl:o.url}}[n]}},provide(){return{navigationBarHeight:this.navigationBarHeight,store:this.store}},watch:{topicData(){this.$nextTick(()=>{this.newContentMounted()})}}},nr=tr,sr=Object(_["a"])(nr,s,i,!1,null,null,null);t["default"]=sr.exports},"32b1":function(e,t,n){},"33ff":function(e,t,n){"use strict";n("4e3e")},3976:function(e,t,n){"use strict";n("0c11")},"3e1b":function(e,t,n){"use strict";n("c5c1")},"3fcc":function(e,t,n){"use strict";n("0c14")},"424f":function(e,t,n){"use strict";n("99b6")},4718:function(e,t,n){},"4b4a":function(e,t,n){},"4d07":function(e,t,n){"use strict";n("b52e")},"4e3e":function(e,t,n){},5237:function(e,t,n){"use strict";n("4b4a")},"525c":function(e,t,n){},5892:function(e,t,n){},5913:function(e,t,n){},"63a8":function(e,t,n){},"653a":function(e,t,n){"use strict";var s=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("router-link",{staticClass:"nav-title-content",attrs:{to:e.to}},[n("span",{staticClass:"title"},[e._t("default")],2),n("span",{staticClass:"subhead"},[e._v(" "),e._t("subhead")],2)])},i=[],r={name:"NavTitleContainer",props:{to:{type:[String,Object],required:!0}}},o=r,a=(n("f1e6"),n("2877")),c=Object(a["a"])(o,s,i,!1,null,"854b4dd6",null);t["a"]=c.exports},6866:function(e,t,n){"use strict";n("5892")},7096:function(e,t,n){},"735b":function(e,t,n){},7748:function(e,t,n){},"79ef":function(e,t,n){"use strict";n("bcaa")},"7b17":function(e,t,n){},"7f7b":function(e,t,n){"use strict";n("735b")},"7fae":function(e,t,n){"use strict";n("a53d")},9924:function(e,t,n){},9938:function(e,t,n){"use strict";n("d513")},"99b6":function(e,t,n){},"9dc4":function(e,t,n){"use strict";n("fe9d")},a0d4:function(e,t,n){},a40c:function(e,t,n){},a53d:function(e,t,n){},a95e:function(e,t,n){},aa4c:function(e,t,n){},aece:function(e,t,n){"use strict";n("c0df")},b27b:function(e,t,n){"use strict";n("2a05")},b52e:function(e,t,n){},bcaa:function(e,t,n){},bf0a:function(e,t,n){"use strict";n("4718")},c0df:function(e,t,n){},c5c1:function(e,t,n){},c643:function(e,t,n){"use strict";n("9924")},c7dd:function(e,t,n){"use strict";n("aa4c")},cb8d:function(e,t,n){"use strict";n("0466")},d4f3:function(e,t,n){"use strict";n("fc13")},d513:function(e,t,n){},d86f:function(e,t,n){},da20:function(e,t,n){"use strict";n("a40c")},de60:function(e,t,n){"use strict";var s=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{staticClass:"download-icon",attrs:{viewBox:"0 0 14 14",themeId:"download"}},[n("path",{attrs:{d:"M7 0.5c3.59 0 6.5 2.91 6.5 6.5s-2.91 6.5-6.5 6.5c-3.59 0-6.5-2.91-6.5-6.5s2.91-6.5 6.5-6.5zM7 1.5c-3.038 0-5.5 2.462-5.5 5.5s2.462 5.5 5.5 5.5c3.038 0 5.5-2.462 5.5-5.5s-2.462-5.5-5.5-5.5z"}}),n("path",{attrs:{d:"M7.51 2.964l-0.001 5.431 1.308-2.041 0.842 0.539-2.664 4.162-2.633-4.164 0.845-0.534 1.303 2.059 0.001-5.452z"}})])},i=[],r=n("be08"),o={name:"DownloadIcon",components:{SVGIcon:r["a"]}},a=o,c=n("2877"),l=Object(c["a"])(a,s,i,!1,null,null,null);t["a"]=l.exports},e38e:function(e,t,n){},e688:function(e,t,n){"use strict";n("5913")},e84c:function(e,t,n){"use strict";n("d86f")},e9b0:function(e,t,n){"use strict";n("ee09")},ea88:function(e,t,n){"use strict";n("ed98")},ed71:function(e,t,n){"use strict";n("7096")},ed98:function(e,t,n){},ee09:function(e,t,n){},f1e6:function(e,t,n){"use strict";n("a0d4")},f264:function(e,t,n){"use strict";n("63a8")},fae5:function(e,t,n){"use strict";n("32b1")},fc13:function(e,t,n){},fe9d:function(e,t,n){}}]);
\ No newline at end of file
--- /dev/null
+/*!
+ * This source file is part of the Swift.org open source project
+ *
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ *
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["tutorials-overview"],{"032c":function(t,e,n){"use strict";n("9b79")},"0b61":function(t,e,n){},"13d5":function(t,e,n){},"15ac":function(t,e,n){"use strict";n("ddf1")},"17d2":function(t,e,n){},"202a":function(t,e,n){"use strict";n("5899")},"277b":function(t,e,n){"use strict";n("60ca")},"29e3":function(t,e,n){"use strict";n("0b61")},3233:function(t,e,n){"use strict";n("8d8f")},4230:function(t,e,n){"use strict";n("52f5")},"441c":function(t,e,n){},"52f5":function(t,e,n){},5899:function(t,e,n){},"60ca":function(t,e,n){},"653a":function(t,e,n){"use strict";var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("router-link",{staticClass:"nav-title-content",attrs:{to:t.to}},[n("span",{staticClass:"title"},[t._t("default")],2),n("span",{staticClass:"subhead"},[t._v(" "),t._t("subhead")],2)])},s=[],a={name:"NavTitleContainer",props:{to:{type:[String,Object],required:!0}}},o=a,r=(n("f1e6"),n("2877")),c=Object(r["a"])(o,i,s,!1,null,"854b4dd6",null);e["a"]=c.exports},6899:function(t,e,n){"use strict";n("441c")},"6fb0":function(t,e,n){"use strict";n("eec8")},"7c60":function(t,e,n){},"8d8f":function(t,e,n){},"8f86":function(t,e,n){},9359:function(t,e,n){"use strict";n("9e08")},9792:function(t,e,n){"use strict";n("c8c8")},"9b79":function(t,e,n){},"9e08":function(t,e,n){},a0d4:function(t,e,n){},a975:function(t,e,n){"use strict";n("7c60")},aebc:function(t,e,n){"use strict";n("c0c9")},b9bf:function(t,e,n){"use strict";n("13d5")},c0c9:function(t,e,n){},c8c8:function(t,e,n){},ca4e:function(t,e,n){"use strict";n("17d2")},ddf1:function(t,e,n){},de60:function(t,e,n){"use strict";var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("SVGIcon",{staticClass:"download-icon",attrs:{viewBox:"0 0 14 14",themeId:"download"}},[n("path",{attrs:{d:"M7 0.5c3.59 0 6.5 2.91 6.5 6.5s-2.91 6.5-6.5 6.5c-3.59 0-6.5-2.91-6.5-6.5s2.91-6.5 6.5-6.5zM7 1.5c-3.038 0-5.5 2.462-5.5 5.5s2.462 5.5 5.5 5.5c3.038 0 5.5-2.462 5.5-5.5s-2.462-5.5-5.5-5.5z"}}),n("path",{attrs:{d:"M7.51 2.964l-0.001 5.431 1.308-2.041 0.842 0.539-2.664 4.162-2.633-4.164 0.845-0.534 1.303 2.059 0.001-5.452z"}})])},s=[],a=n("be08"),o={name:"DownloadIcon",components:{SVGIcon:a["a"]}},r=o,c=n("2877"),l=Object(c["a"])(r,i,s,!1,null,null,null);e["a"]=l.exports},dfc1:function(t,e,n){},ed64:function(t,e,n){"use strict";n("dfc1")},eec8:function(t,e,n){},f025:function(t,e,n){"use strict";n.r(e);var i,s,a=function(){var t=this,e=t.$createElement,n=t._self._c||e;return t.topicData?n("Overview",t._b({key:t.topicKey},"Overview",t.overviewProps,!1)):t._e()},o=[],r=n("25a9"),c=n("0caf"),l=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"tutorials-overview"},[t.isTargetIDE?t._e():n("Nav",{staticClass:"theme-dark",attrs:{sections:t.otherSections}},[t._v(" "+t._s(t.title)+" ")]),n("main",{staticClass:"main",attrs:{id:"main",role:"main",tabindex:"0"}},[n("div",{staticClass:"radial-gradient"},[t._t("above-hero"),t.heroSection?n("Hero",{attrs:{action:t.heroSection.action,content:t.heroSection.content,estimatedTime:t.metadata.estimatedTime,image:t.heroSection.image,title:t.heroSection.title}}):t._e()],2),t.otherSections.length>0?n("LearningPath",{attrs:{sections:t.otherSections}}):t._e()],1)],1)},u=[],m=n("e425"),d={state:{activeTutorialLink:null,activeVolume:null,references:{}},reset(){this.state.activeTutorialLink=null,this.state.activeVolume=null,this.state.references={}},setActiveSidebarLink(t){this.state.activeTutorialLink=t},setActiveVolume(t){this.state.activeVolume=t},setReferences(t){this.state.references=t}},p=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("NavBase",[n("NavTitleContainer",{attrs:{to:t.buildUrl(t.$route.path,t.$route.query)}},[n("template",{slot:"default"},[t._t("default")],2),n("template",{slot:"subhead"},[t._v(t._s(t.$tc("tutorials.title",2)))])],2),n("template",{slot:"menu-items"},[n("NavMenuItemBase",{staticClass:"in-page-navigation"},[n("TutorialsNavigation",{attrs:{sections:t.sections}})],1),t._t("menu-items")],2)],2)},h=[],v=n("cbcf"),f=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("nav",{staticClass:"tutorials-navigation"},[n("TutorialsNavigationList",t._l(t.sections,(function(e,i){return n("li",{key:e.name+"_"+i,class:t.sectionClasses(e)},[t.isVolume(e)?n(t.componentForVolume(e),t._b({tag:"component",on:{"select-menu":t.onSelectMenu,"deselect-menu":t.onDeselectMenu}},"component",t.propsForVolume(e),!1),t._l(e.chapters,(function(e){return n("li",{key:e.name},[n("TutorialsNavigationLink",[t._v(" "+t._s(e.name)+" ")])],1)})),0):t.isResources(e)?n("TutorialsNavigationLink",[t._v(" "+t._s(t.$t("sections.resources"))+" ")]):t._e()],1)})),0)],1)},b=[],_=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("router-link",{staticClass:"tutorials-navigation-link",class:{active:t.active},attrs:{to:t.fragment},nativeOn:{click:function(e){return t.handleFocusAndScroll(t.fragment.hash)}}},[t._t("default")],2)},g=[],C=n("002d"),y=n("8a61"),T={name:"TutorialsNavigationLink",mixins:[y["a"]],inject:{store:{default:()=>({state:{}})}},data(){return{state:this.store.state}},computed:{active:({state:{activeTutorialLink:t},text:e})=>e===t,fragment:({text:t,$route:e})=>({hash:Object(C["a"])(t),query:e.query}),text:({$slots:{default:[{text:t}]}})=>t.trim()}},S=T,V=(n("6fb0"),n("2877")),k=Object(V["a"])(S,_,g,!1,null,"e9f9b59c",null),I=k.exports,x=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("ol",{staticClass:"tutorials-navigation-list",attrs:{role:"list"}},[t._t("default")],2)},N=[],O={name:"TutorialsNavigationList"},$=O,j=(n("202a"),Object(V["a"])($,x,N,!1,null,"6f2800d1",null)),A=j.exports,w=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"tutorials-navigation-menu",class:{collapsed:t.collapsed}},[n("button",{staticClass:"toggle",attrs:{"aria-expanded":t.collapsed?"false":"true",type:"button"},on:{click:function(e){return e.stopPropagation(),t.onClick.apply(null,arguments)}}},[n("span",{staticClass:"text"},[t._v(t._s(t.title))]),n("InlineCloseIcon",{staticClass:"toggle-icon icon-inline"})],1),n("transition-expand",[t.collapsed?t._e():n("div",{staticClass:"tutorials-navigation-menu-content"},[n("TutorialsNavigationList",{attrs:{"aria-label":t.$t("tutorials.nav.chapters")}},[t._t("default")],2)],1)])],1)},q=[],L=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("SVGIcon",{staticClass:"inline-close-icon",attrs:{viewBox:"0 0 14 14",themeId:"inline-close"}},[n("path",{attrs:{d:"M11.91 1l1.090 1.090-4.917 4.915 4.906 4.905-1.090 1.090-4.906-4.905-4.892 4.894-1.090-1.090 4.892-4.894-4.903-4.904 1.090-1.090 4.903 4.904z"}})])},E=[],M=n("be08"),D={name:"InlineCloseIcon",components:{SVGIcon:M["a"]}},F=D,R=Object(V["a"])(F,L,E,!1,null,null,null),B=R.exports,G={name:"TransitionExpand",functional:!0,render(t,e){const n={props:{name:"expand"},on:{afterEnter(t){t.style.height="auto"},enter(t){const{width:e}=getComputedStyle(t);t.style.width=e,t.style.position="absolute",t.style.visibility="hidden",t.style.height="auto";const{height:n}=getComputedStyle(t);t.style.width=null,t.style.position=null,t.style.visibility=null,t.style.height=0,getComputedStyle(t).height,requestAnimationFrame(()=>{t.style.height=n})},leave(t){const{height:e}=getComputedStyle(t);t.style.height=e,getComputedStyle(t).height,requestAnimationFrame(()=>{t.style.height=0})}}};return t("transition",n,e.children)}},z=G,P=(n("032c"),Object(V["a"])(z,i,s,!1,null,null,null)),H=P.exports,K={name:"TutorialsNavigationMenu",components:{InlineCloseIcon:B,TransitionExpand:H,TutorialsNavigationList:A},props:{collapsed:{type:Boolean,default:!0},title:{type:String,required:!0}},methods:{onClick(){this.collapsed?this.$emit("select-menu",this.title):this.$emit("deselect-menu")}}},U=K,Z=(n("277b"),Object(V["a"])(U,w,q,!1,null,"489416f8",null)),J=Z.exports;const Q={resources:"resources",volume:"volume"};var W={name:"TutorialsNavigation",components:{TutorialsNavigationLink:I,TutorialsNavigationList:A,TutorialsNavigationMenu:J},constants:{SectionKind:Q},inject:{store:{default:()=>({setActiveVolume(){}})}},data(){return{state:this.store.state}},props:{sections:{type:Array,required:!0}},computed:{activeVolume:({state:t})=>t.activeVolume},methods:{sectionClasses(t){return{volume:this.isVolume(t),"volume--named":this.isNamedVolume(t),resource:this.isResources(t)}},componentForVolume:({name:t})=>t?J:A,isResources:({kind:t})=>t===Q.resources,isVolume:({kind:t})=>t===Q.volume,activateFirstNamedVolume(){const{isNamedVolume:t,sections:e}=this,n=e.find(t);n&&this.store.setActiveVolume(n.name)},isNamedVolume(t){return this.isVolume(t)&&t.name},onDeselectMenu(){this.store.setActiveVolume(null)},onSelectMenu(t){this.store.setActiveVolume(t)},propsForVolume({name:t}){const{activeVolume:e}=this;return t?{collapsed:t!==e,title:t}:{"aria-label":"Chapters"}}},created(){this.activateFirstNamedVolume()}},X=W,Y=(n("a975"),Object(V["a"])(X,f,b,!1,null,"79093ed6",null)),tt=Y.exports,et=n("653a"),nt=n("d26a"),it=n("863d");const st={resources:"resources",volume:"volume"};var at={name:"Nav",constants:{SectionKind:st},components:{NavMenuItemBase:it["a"],NavTitleContainer:et["a"],TutorialsNavigation:tt,NavBase:v["a"]},props:{sections:{type:Array,require:!0}},methods:{buildUrl:nt["b"]}},ot=at,rt=(n("9359"),Object(V["a"])(ot,p,h,!1,null,"b806ee20",null)),ct=rt.exports,lt=n("bf08"),ut=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("section",{staticClass:"hero"},[n("div",{staticClass:"copy-container"},[n("h1",{staticClass:"title"},[t._v(t._s(t.title))]),t.content?n("ContentNode",{attrs:{content:t.content}}):t._e(),t.estimatedTime?n("p",{staticClass:"meta"},[n("TimerIcon"),n("span",{staticClass:"meta-content"},[n("strong",{staticClass:"time"},[t._v(t._s(t.estimatedTime))]),n("span",[t._v(" "+t._s(t.$t("tutorials.estimated-time")))])])],1):t._e(),t.action?n("CallToActionButton",{attrs:{action:t.action,"aria-label":t.$t("tutorials.overriding-title",{newTitle:t.action.overridingTitle,title:t.title}),isDark:""}}):t._e()],1),t.image?n("Asset",{attrs:{identifier:t.image}}):t._e()],1)},mt=[],dt=n("80e4"),pt=n("c081"),ht=n("5677"),vt=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("SVGIcon",{staticClass:"timer-icon",attrs:{viewBox:"0 0 14 14",themeId:"timer"}},[n("path",{attrs:{d:"M7 0.5c3.59 0 6.5 2.91 6.5 6.5s-2.91 6.5-6.5 6.5c-3.59 0-6.5-2.91-6.5-6.5v0c0-3.59 2.91-6.5 6.5-6.5v0zM7 2c-2.761 0-5 2.239-5 5s2.239 5 5 5c2.761 0 5-2.239 5-5v0c0-2.761-2.239-5-5-5v0z"}}),n("path",{attrs:{d:"M6.51 3.51h1.5v3.5h-1.5v-3.5z"}}),n("path",{attrs:{d:"M6.51 7.010h4v1.5h-4v-1.5z"}})])},ft=[],bt={name:"TimerIcon",components:{SVGIcon:M["a"]}},_t=bt,gt=Object(V["a"])(_t,vt,ft,!1,null,null,null),Ct=gt.exports,yt={name:"Hero",components:{Asset:dt["a"],CallToActionButton:pt["a"],ContentNode:ht["default"],TimerIcon:Ct},props:{action:{type:Object,required:!1},content:{type:Array,required:!1},estimatedTime:{type:String,required:!1},image:{type:String,required:!1},title:{type:String,required:!0}}},Tt=yt,St=(n("29e3"),Object(V["a"])(Tt,ut,mt,!1,null,"383dab71",null)),Vt=St.exports,kt=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"learning-path",class:t.classes},[n("div",{staticClass:"main-container"},[t.isTargetIDE?t._e():n("div",{staticClass:"secondary-content-container"},[n("TutorialsNavigation",{attrs:{sections:t.sections,"aria-label":t.$t("sections.on-this-page")}})],1),n("div",{staticClass:"primary-content-container"},[n("div",{staticClass:"content-sections-container"},[t._l(t.volumes,(function(e,i){return n("Volume",t._b({key:"volume_"+i,staticClass:"content-section"},"Volume",t.propsFor(e),!1))})),t._l(t.otherSections,(function(e,i){return n(t.componentFor(e),t._b({key:"resource_"+i,tag:"component",staticClass:"content-section"},"component",t.propsFor(e),!1))}))],2)])])])},It=[],xt=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("section",{staticClass:"resources",attrs:{id:"resources",tabindex:"-1"}},[n("VolumeName",{attrs:{name:t.$t("sections.resources"),content:t.content}}),n("TileGroup",{attrs:{tiles:t.tiles}})],1)},Nt=[],Ot=n("72e7");const $t={topOneThird:"-30% 0% -70% 0%",center:"-50% 0% -50% 0%"};var jt={mixins:[Ot["a"]],computed:{intersectionRoot(){return null},intersectionRootMargin(){return $t.center}},methods:{onIntersect(t){if(!t.isIntersecting)return;const e=this.onIntersectViewport;e?e():console.warn("onIntersectViewportCenter not implemented")}}},At=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"volume-name"},[t.image?n("Asset",{staticClass:"image",attrs:{identifier:t.image,"aria-hidden":"true"}}):t._e(),n("h2",{staticClass:"name"},[t._v(" "+t._s(t.name)+" ")]),t.content?n("ContentNode",{attrs:{content:t.content}}):t._e()],1)},wt=[],qt={name:"VolumeName",components:{ContentNode:ht["default"],Asset:dt["a"]},props:{image:{type:String,required:!1},content:{type:Array,required:!1},name:{type:String,required:!1}}},Lt=qt,Et=(n("ca4e"),Object(V["a"])(Lt,At,wt,!1,null,"569db166",null)),Mt=Et.exports,Dt=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"tile-group",class:t.countClass},t._l(t.tiles,(function(e){return n("Tile",t._b({key:e.title},"Tile",t.propsFor(e),!1))})),1)},Ft=[],Rt=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"tile"},[t.identifier?n("div",{staticClass:"icon"},[n(t.iconComponent,{tag:"component"})],1):t._e(),n("div",{staticClass:"title"},[t._v(t._s(t.title))]),n("ContentNode",{attrs:{content:t.content}}),t.action?n("DestinationDataProvider",{attrs:{destination:t.action},scopedSlots:t._u([{key:"default",fn:function(e){var i=e.url,s=e.title;return n("Reference",{staticClass:"link",attrs:{url:i}},[t._v(" "+t._s(s)+" "),n("InlineChevronRightIcon",{staticClass:"link-icon icon-inline"})],1)}}],null,!1,3874201962)}):t._e()],1)},Bt=[],Gt=n("3b96"),zt=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("SVGIcon",{staticClass:"document-icon",attrs:{viewBox:"0 0 14 14",themeId:"document"}},[n("path",{attrs:{d:"M11.2,5.3,8,2l-.1-.1H2.8V12.1h8.5V6.3l-.1-1ZM8,3.2l2,2.1H8Zm2.4,8H3.6V2.8H7V6.3h3.4Z"}})])},Pt=[],Ht={name:"DocumentIcon",components:{SVGIcon:M["a"]}},Kt=Ht,Ut=(n("3233"),Object(V["a"])(Kt,zt,Pt,!1,null,"3a80772b",null)),Zt=Ut.exports,Jt=n("de60"),Qt=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("SVGIcon",{staticClass:"forum-icon",attrs:{viewBox:"0 0 14 14",themeId:"forum"}},[n("path",{attrs:{d:"M13 1v9h-7l-1.5 3-1.5-3h-2v-9zM12 2h-10v7h1.616l0.884 1.763 0.88-1.763h6.62z"}}),n("path",{attrs:{d:"M3 4h8.001v1h-8.001v-1z"}}),n("path",{attrs:{d:"M3 6h8.001v1h-8.001v-1z"}})])},Wt=[],Xt={name:"ForumIcon",components:{SVGIcon:M["a"]}},Yt=Xt,te=Object(V["a"])(Yt,Qt,Wt,!1,null,null,null),ee=te.exports,ne=n("c4dd"),ie=n("86d8"),se=n("34b0"),ae=n("c7ea");const oe={documentation:"documentation",downloads:"downloads",featured:"featured",forums:"forums",sampleCode:"sampleCode",videos:"videos"};var re={name:"Tile",constants:{Identifier:oe},components:{DestinationDataProvider:ae["a"],InlineChevronRightIcon:se["a"],ContentNode:ht["default"],CurlyBracketsIcon:Gt["a"],DocumentIcon:Zt,DownloadIcon:Jt["a"],ForumIcon:ee,PlayIcon:ne["a"],Reference:ie["a"]},props:{action:{type:Object,required:!1},content:{type:Array,required:!0},identifier:{type:String,required:!1},title:{type:String,require:!0}},computed:{iconComponent:({identifier:t})=>({[oe.documentation]:Zt,[oe.downloads]:Jt["a"],[oe.forums]:ee,[oe.sampleCode]:Gt["a"],[oe.videos]:ne["a"]}[t])}},ce=re,le=(n("6899"),Object(V["a"])(ce,Rt,Bt,!1,null,"96abac22",null)),ue=le.exports,me={name:"TileGroup",components:{Tile:ue},props:{tiles:{type:Array,required:!0}},computed:{countClass:({tiles:t})=>"count-"+t.length},methods:{propsFor:({action:t,content:e,identifier:n,title:i})=>({action:t,content:e,identifier:n,title:i})}},de=me,pe=(n("f0ca"),Object(V["a"])(de,Dt,Ft,!1,null,"015f9f13",null)),he=pe.exports,ve={name:"Resources",mixins:[jt],inject:{store:{default:()=>({setActiveSidebarLink(){},setActiveVolume(){}})}},components:{VolumeName:Mt,TileGroup:he},computed:{intersectionRootMargin:()=>$t.topOneThird},props:{content:{type:Array,required:!1},tiles:{type:Array,required:!0}},methods:{onIntersectViewport(){this.store.setActiveSidebarLink("Resources"),this.store.setActiveVolume(null)}}},fe=ve,be=(n("ed64"),Object(V["a"])(fe,xt,Nt,!1,null,"7f8022c1",null)),_e=be.exports,ge=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("section",{staticClass:"volume"},[t.name?n("VolumeName",t._b({},"VolumeName",{name:t.name,image:t.image,content:t.content},!1)):t._e(),t._l(t.chapters,(function(e,i){return n("Chapter",{key:e.name,staticClass:"tile",attrs:{content:e.content,image:e.image,name:e.name,number:i+1,topics:t.lookupTopics(e.tutorials),volumeHasName:!!t.name}})}))],2)},Ce=[],ye=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("section",{staticClass:"chapter",attrs:{id:t.anchor,tabindex:"-1"}},[n("div",{staticClass:"info"},[n("Asset",{attrs:{identifier:t.image,"aria-hidden":"true"}}),n("div",{staticClass:"intro"},[n(t.volumeHasName?"h3":"h2",{tag:"component",staticClass:"name",attrs:{"aria-label":t.name+" - "+t.$tc("tutorials.sections.chapter",{number:t.number})}},[n("span",{staticClass:"eyebrow",attrs:{"aria-hidden":"true"}},[t._v(" "+t._s(t.$t("tutorials.sections.chapter",{number:t.number}))+" ")]),n("span",{staticClass:"name-text",attrs:{"aria-hidden":"true"}},[t._v(t._s(t.name))])]),t.content?n("ContentNode",{attrs:{content:t.content}}):t._e()],1)],1),n("TopicList",{attrs:{topics:t.topics}})],1)},Te=[],Se=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("ol",{staticClass:"topic-list"},t._l(t.topics,(function(e){return n("li",{key:e.url,staticClass:"topic",class:[t.kindClassFor(e),{"no-time-estimate":!e.estimatedTime}]},[n("div",{staticClass:"topic-icon"},[n(t.iconComponent(e),{tag:"component"})],1),n("router-link",{staticClass:"container",attrs:{to:t.buildUrl(e.url,t.$route.query),"aria-label":t.ariaLabelFor(e)}},[n("div",{staticClass:"link"},[t._v(t._s(e.title))]),e.estimatedTime?n("div",{staticClass:"time"},[n("TimerIcon"),n("span",{staticClass:"time-label"},[t._v(t._s(e.estimatedTime))])],1):t._e()])],1)})),0)},Ve=[],ke=n("a9f1"),Ie=n("8d2d");const xe={article:"article",tutorial:"project"},Ne={article:"article",tutorial:"tutorial"},Oe={[xe.article]:"Article",[xe.tutorial]:"Tutorial"};var $e={name:"ChapterTopicList",components:{TimerIcon:Ct},constants:{TopicKind:xe,TopicKindClass:Ne,TopicKindIconLabel:Oe},props:{topics:{type:Array,required:!0}},methods:{buildUrl:nt["b"],iconComponent:({kind:t})=>({[xe.article]:ke["a"],[xe.tutorial]:Ie["a"]}[t]),kindClassFor:({kind:t})=>({[xe.article]:Ne.article,[xe.tutorial]:Ne.tutorial}[t]),formatTime(t){return t.replace("min"," "+this.$t("tutorials.time.minutes.full")).replace("hrs"," "+this.$t("tutorials.time.hours.full"))},ariaLabelFor(t){const{title:e,estimatedTime:n,kind:i}=t,s=[e,Oe[i]];return n&&s.push(`${this.formatTime(n)} ${this.$t("tutorials.estimated-time")}`),s.join(" - ")}}},je=$e,Ae=(n("9792"),Object(V["a"])(je,Se,Ve,!1,null,"45ec37c5",null)),we=Ae.exports,qe={name:"Chapter",mixins:[jt],inject:{store:{default:()=>({setActiveSidebarLink(){},setActiveVolume(){}})}},components:{Asset:dt["a"],ContentNode:ht["default"],TopicList:we},props:{content:{type:Array,required:!1},image:{type:String,required:!0},name:{type:String,required:!0},number:{type:Number,required:!0},topics:{type:Array,required:!0},volumeHasName:{type:Boolean,default:!1}},computed:{anchor:({name:t})=>Object(C["a"])(t),intersectionRootMargin:()=>$t.topOneThird},methods:{onIntersectViewport(){this.store.setActiveSidebarLink(this.name),this.volumeHasName||this.store.setActiveVolume(null)}}},Le=qe,Ee=(n("4230"),Object(V["a"])(Le,ye,Te,!1,null,"7468bc5e",null)),Me=Ee.exports,De={name:"Volume",mixins:[jt],components:{VolumeName:Mt,Chapter:Me},computed:{references:({store:t})=>t.state.references,intersectionRootMargin:()=>$t.topOneThird},inject:{store:{default:()=>({setActiveVolume(){},state:{references:{}}})}},props:{chapters:{type:Array,required:!0},content:{type:Array,required:!1},image:{type:String,required:!1},name:{type:String,required:!1}},methods:{lookupTopics(t){return t.reduce((t,e)=>t.concat(this.references[e]||[]),[])},onIntersectViewport(){this.name&&this.store.setActiveVolume(this.name)}}},Fe=De,Re=(n("b9bf"),Object(V["a"])(Fe,ge,Ce,!1,null,"540dbf10",null)),Be=Re.exports;const Ge={resources:"resources",volume:"volume"};var ze={name:"LearningPath",components:{Resources:_e,TutorialsNavigation:tt,Volume:Be},constants:{SectionKind:Ge},inject:{isTargetIDE:{default:!1}},props:{sections:{type:Array,required:!0,validator:t=>t.every(t=>Object.prototype.hasOwnProperty.call(Ge,t.kind))}},computed:{classes:({isTargetIDE:t})=>({ide:t}),partitionedSections:({sections:t})=>t.reduce(([t,e],n)=>n.kind===Ge.volume?[t.concat(n),e]:[t,e.concat(n)],[[],[]]),volumes:({partitionedSections:t})=>t[0],otherSections:({partitionedSections:t})=>t[1]},methods:{componentFor:({kind:t})=>({[Ge.resources]:_e,[Ge.volume]:Be}[t]),propsFor:({chapters:t,content:e,image:n,kind:i,name:s,tiles:a})=>({[Ge.resources]:{content:e,tiles:a},[Ge.volume]:{chapters:t,content:e,image:n,name:s}}[i])}},Pe=ze,He=(n("aebc"),Object(V["a"])(Pe,kt,It,!1,null,"69a72bbc",null)),Ke=He.exports;const Ue={hero:"hero",resources:"resources",volume:"volume"};var Ze={name:"TutorialsOverview",components:{Hero:Vt,LearningPath:Ke,Nav:ct},mixins:[lt["a"]],constants:{SectionKind:Ue},inject:{isTargetIDE:{default:!1}},props:{metadata:{type:Object,default:()=>({})},references:{type:Object,default:()=>({})},sections:{type:Array,default:()=>[],validator:t=>t.every(t=>Object.prototype.hasOwnProperty.call(Ue,t.kind))}},computed:{pageTitle:({title:t})=>[t,"Tutorials"].filter(Boolean).join(" "),pageDescription:({heroSection:t,extractFirstParagraphText:e})=>t?e(t.content):null,partitionedSections:({sections:t})=>t.reduce(([t,e],n)=>n.kind===Ue.hero?[t.concat(n),e]:[t,e.concat(n)],[[],[]]),heroSections:({partitionedSections:t})=>t[0],otherSections:({partitionedSections:t})=>t[1],heroSection:({heroSections:t})=>t[0],store:()=>d,title:({metadata:{category:t=""}})=>t},provide(){return{store:this.store}},created(){m["a"].setAvailableLocales(this.metadata.availableLocales),this.store.reset(),this.store.setReferences(this.references)},watch:{references(t){this.store.setReferences(t)},"metadata.availableLocales":function(t){m["a"].setAvailableLocales(t)}}},Je=Ze,Qe=(n("15ac"),Object(V["a"])(Je,l,u,!1,null,"29ed9b58",null)),We=Qe.exports,Xe=n("146e"),Ye={name:"TutorialsOverview",components:{Overview:We},mixins:[c["a"],Xe["a"]],data(){return{topicData:null}},computed:{overviewProps:({topicData:{metadata:t,references:e,sections:n}})=>({metadata:t,references:e,sections:n}),topicKey:({$route:t,topicData:e})=>[t.path,e.identifier.interfaceLanguage].join()},beforeRouteEnter(t,e,n){t.meta.skipFetchingData?n(t=>t.newContentMounted()):Object(r["c"])(t,e,n).then(t=>n(e=>{e.topicData=t})).catch(n)},beforeRouteUpdate(t,e,n){Object(r["e"])(t,e)?Object(r["c"])(t,e,n).then(t=>{this.topicData=t,n()}).catch(n):n()},mounted(){this.$bridge.on("contentUpdate",this.handleContentUpdateFromBridge)},beforeDestroy(){this.$bridge.off("contentUpdate",this.handleContentUpdateFromBridge)},watch:{topicData(){this.$nextTick(()=>{this.newContentMounted()})}}},tn=Ye,en=Object(V["a"])(tn,a,o,!1,null,null,null);e["default"]=en.exports},f0ca:function(t,e,n){"use strict";n("8f86")},f1e6:function(t,e,n){"use strict";n("a0d4")}}]);
\ No newline at end of file
--- /dev/null
+{"bundleDisplayName":"IOTBluetooth","bundleIdentifier":"com.thisiot.IOTBluetooth","schemaVersion":{"major":0,"minor":1,"patch":0}}
\ No newline at end of file
--- /dev/null
+# IOTBluetooth
+
+## 介绍
+
+- 当前版本:v1.0.20
+
+- 更新内容20240720:
+
+ 1. 同步卡路里历史数据 - 时间处理bug修改
+ 1. sdk分包接收(同步训练记录)bug修改
+
+
+
+## 环境要求
+
+- iOS系统版本: iOS 13.0以上
+- 真机环境
+
+## 软件架构
+
+SDK 分为两部分
+
+1. 蓝牙封装
+2. 蓝牙协议指令封装
+
+## 安装教程
+
+1. 把 IOTBluetooth.Framework` 拖入项目中
+2. 在使用的文件中`#import IOTBluetooth`
+
+## 使用流程
+
+### 添加权限
+
+```
+info.plist中添加以下权限:
+
+Privacy - Bluetooth Always Usage Description
+
+Privacy - Bluetooth Peripheral Usage Description
+```
+
+### SDK初始化
+
+```swift
+IBManager.initializationSDK()
+```
+
+### 扫描蓝牙设备
+
+```swift
+/// 扫描设备
+/// - Parameters:
+/// - option: 扫描参数
+/// - discoverHandler: 结果回调
+IBManager.scan(_ option: IBScanOption = .default, discoverHandler: @escaping IBDiscoverHandler)
+```
+
+### 连接
+
+```swift
+/// 连接设备
+/// - Parameters:
+/// - peripheral: 扫描发现的设备
+/// - completeHandler: 结果回调
+IBManager.connect(_ peripheral: IBPeripheral, completeHandler: @escaping IBCompleteHandler)
+```
+
+### 停止扫描
+
+```swift
+IBManager.stopScan()
+```
+
+### 断连
+
+```swift
+/// 断开与蓝牙设备的连接
+/// - Parameter peripheral: 蓝牙设备对像
+IBManager.cancel(_ peripheral: IBPeripheral)
+```
+
+### 通知
+
+```swift
+extension IBNotify.Name {
+
+ /// 连接状态发生改变。通过object 获取状态,0断开连接。1连上设备。
+ public static let connectStateDidChange: IOTBluetooth.IBNotify.Name
+
+ /// 远程拍照动作。通过object获取状态。2进行手势拍照,3退出
+ public static let takePhoto: IOTBluetooth.IBNotify.Name
+
+ /// 手表请求天气数据
+ public static let weather: IOTBluetooth.IBNotify.Name
+
+ /// 找到设备
+ public static let didFindDevice: IOTBluetooth.IBNotify.Name
+
+ /// 训练状态变化,通过object获取状态IBTarinState对象
+ public static let trainStateDidChanged: IOTBluetooth.IBNotify.Name
+
+ /// 获取手表推送的训练实时数据,通过object获取状态IBTrainingData对象
+ public static let trainingData: IOTBluetooth.IBNotify.Name
+}
+```
+
+
+
+## 蓝牙协议相关
+
+### 相关接口
+
+```swift
+extension IBAbility {
+
+ /// 设置用户数据
+ /// - Parameter userInfo: see ``IBUserInfo``
+ public static let userData: IOTBluetooth.IBAbility
+
+ /// 关于本机内容
+ public static let about: IOTBluetooth.IBAbility
+
+ /// 切换表盘
+ /// - Parameter dialID:Int
+ /// 表盘id
+ public static let switchDial: IOTBluetooth.IBAbility
+
+ /// APP删除表盘
+ /// - Parameter dialID:Int \
+ /// 表盘id
+ public static let deleteDial: IOTBluetooth.IBAbility
+
+ /// 发送当前表盘ID
+ /// - Returns: Int \
+ /// Read from ``IBResponse``.value
+ public static let fetchCurrentDialId: IOTBluetooth.IBAbility
+
+ /// 查找手表
+ /// - Parameter action:
+ /// 0 = 停止查找 \
+ /// 1 = 开始查找
+ public static let find: IOTBluetooth.IBAbility
+
+ /// 开关消息推送功能
+ /// - Parameter action:
+ /// 0 = 关闭消息 \
+ /// 1 = 开启消息
+ public static let message: IOTBluetooth.IBAbility
+
+ /// 开启指定运动模式
+ /// - Parameter motionMode: see ``IBMotionMode``
+ public static let startSport: IOTBluetooth.IBAbility
+
+ /// 结束运动模式
+ public static let endSport: IOTBluetooth.IBAbility
+
+ /// 设置训练实时数据采样频率
+ /// - Parameter value:Int \
+ /// 单位(秒)
+ public static let trainFrequency: IOTBluetooth.IBAbility
+
+ /// 训练暂停/恢复
+ /// - Parameter action:
+ /// 0 = 暂停 \
+ /// 1 = 恢复
+ public static let trainPauseResume: IOTBluetooth.IBAbility
+
+ /// 设置语言
+ /// - Parameter language: see ``IBLanguage``
+ public static let language: IOTBluetooth.IBAbility
+
+ /// 获取手表心率参数
+ /// - Returns: ``IBHeartRate`` \
+ /// Read from ``IBResponse``.value
+ public static let fetchHeartRate: IOTBluetooth.IBAbility
+
+ /// 设置手表心率参数
+ /// - Parameter heartRate: see ``IBHeartRate``
+ public static let heartRate: IOTBluetooth.IBAbility
+
+ /// 获取手表血氧设置
+ /// - Returns: ``IBBloodOxygen`` \
+ /// Read from ``IBResponse``.value
+ public static let fetchBloodOxygen: IOTBluetooth.IBAbility
+
+ /// 设置手表血氧参数
+ /// - Parameter heartRate: see ``IBBloodOxygen``
+ public static let bloodOxygen: IOTBluetooth.IBAbility
+
+ /// 获取实时心率(实时训练数据)
+ /// - Returns: ``IBTrainingData`` \
+ /// Read from ``IBResponse``.value
+ public static let currentHeartRate: IOTBluetooth.IBAbility
+
+ /// 开启/关闭自动获取实时心率
+ /// - Parameter action:
+ /// 0 = 关闭自动获取 \
+ /// 1 = 开启自动获取
+ public static let heartRateMode: IOTBluetooth.IBAbility
+
+ /// 设置最高心率提醒
+ /// - Parameter value:Int \
+ /// 最高不超过 250 ,如果需要关闭最高心率提醒,可将最高心率设为255,开启则设正常值即可。
+ public static let heartRateHigh: IOTBluetooth.IBAbility
+
+ /// 手势拍照
+ /// - Parameter action:
+ /// 0 = 退出手势拍照 \
+ /// 1 = 进入手势拍照
+ public static let takePhoto: IOTBluetooth.IBAbility
+
+ /// 恢复出厂设置
+ public static let restore: IOTBluetooth.IBAbility
+
+ /// 重新启动
+ public static let reboot: IOTBluetooth.IBAbility
+
+ /// 关机
+ public static let shutdown: IOTBluetooth.IBAbility
+
+ /// 获取手表电池电量。
+ /// - Returns: Int \
+ /// Read from ``IBResponse``.value
+ public static let fetchBattery: IOTBluetooth.IBAbility
+
+ /// 获取闹钟设置
+ /// - Returns: ``[IBClockInfo]`` \
+ /// Read from ``IBResponse``.items
+ public static let fetchClock: IOTBluetooth.IBAbility
+
+ /// 发送闹钟设置
+ /// - Parameter clock: see ``IBClock``
+ public static let setClock: IOTBluetooth.IBAbility
+
+ /// 获取所有表盘UID
+ /// - Returns: [Int] \
+ /// Read from ``IBResponse``.items
+ public static let fetchDials: IOTBluetooth.IBAbility
+
+ /// APP获取某表盘ID是否已安装
+ /// - Parameter value:Int
+ /// - Returns: Int
+ /// 1 = 已安装 \
+ /// 2 = 未安装 \
+ /// Read from ``IBResponse``.value
+ public static let checkDialID: IOTBluetooth.IBAbility
+
+ /// 获取当前手表状态
+ /// - Returns: Int \
+ /// 0 = 空闲状态 \
+ /// 9 = USB存储状态 \
+ /// 10 = 运动训练状态 \
+ /// Read from ``IBResponse``.value
+ public static let fetchWatchState: IOTBluetooth.IBAbility
+
+ /// 获取手表屏幕参数
+ /// - Returns: ``IBScreen`` \
+ /// Read from ``IBResponse``.value
+ public static let fetchScreen: IOTBluetooth.IBAbility
+
+ /// 设置手表屏幕参数
+ /// - Parameter screen: see ``screen``
+ public static let screen: IOTBluetooth.IBAbility
+
+ /// 获取手表声音与震动参数
+ /// - Returns: ``IBVibrateSound`` \
+ /// Read from ``IBResponse``.value
+ public static let fetchVibrateSound: IOTBluetooth.IBAbility
+
+ /// APP设置手表声音与震动参数
+ /// - Parameter vibrateSound: see ``IBVibrateSound``
+ public static let vibrateSound: IOTBluetooth.IBAbility
+
+ /// 设置手表辅助功能参数
+ /// - Parameter auxiliary: see ``IBAuxiliary``
+ public static let auxiliary: IOTBluetooth.IBAbility
+
+ /// 获取手表辅助功能参数
+ /// - Returns: IBAuxiliary \
+ /// Read from ``IBResponse``.value
+ public static let fetchAuxiliary: IOTBluetooth.IBAbility
+
+ /// 获取目标步数设置
+ /// - Returns: ``IBTargetStep`` \
+ /// Read from ``IBResponse``.value
+ public static let fetchTargetStep: IOTBluetooth.IBAbility
+
+ /// 设置目标步数
+ /// - Parameter targetStep: see ``IBTrainTarget``
+ public static let targetStep: IOTBluetooth.IBAbility
+
+ /// 获取其他目标设置
+ /// - Returns: ``IBOtherTarget`` \
+ /// Read from ``IBResponse``.value
+ public static let fetchOtherTarget: IOTBluetooth.IBAbility
+
+ /// 设置其他目标
+ /// - Parameter targetOther: see ``IBOtherTarget``
+ public static let targetOther: IOTBluetooth.IBAbility
+
+ /// 获取睡眠设置
+ /// - Returns: ``IBSleep`` \
+ /// Read from ``IBResponse``.value
+ public static let fetchSleep: IOTBluetooth.IBAbility
+
+ /// 设置睡眠
+ /// - Parameter sleep: see ``IBSleep``
+ public static let sleep: IOTBluetooth.IBAbility
+
+ /// 获取手表喝水提醒设置
+ /// - Returns: Int \
+ /// 0 = 关闭 \
+ /// 1 = 开启 \
+ /// Read from ``IBResponse``.value
+ public static let fetchWater: IOTBluetooth.IBAbility
+
+ /// 设置喝水提醒
+ /// - Parameter water: see ``IBWater``
+ public static let water: IOTBluetooth.IBAbility
+
+ /// 设置手表公英制单位
+ /// - Parameter value:Int \
+ /// 0 = 公制 \
+ /// 1 = 英制
+ public static let unit: IOTBluetooth.IBAbility
+
+ /// 设置训练目标
+ /// - Parameter trainTarget:see ``IBTrainTarget``
+ public static let trainTarget: IOTBluetooth.IBAbility
+
+ /// 同步心率历史数据
+ /// - Parameter value:
+ /// 0 = 今天 \
+ /// 1 = 前1天 \
+ /// 2 = 前2天 \
+ /// 3 = 前3天 \
+ /// 依此类推,取值范围0~29。
+ /// - Returns: [IBHistoryHeartRateItem] \
+ /// Read from ``IBResponse``.items
+ public static let syncHeartRate: IOTBluetooth.IBAbility
+
+ /// 同步血氧历史数据
+ /// - Parameter value:
+ /// 0 = 今天 \
+ /// 1 = 前1天 \
+ /// 2 = 前2天 \
+ /// 3 = 前3天 \
+ /// 依此类推,取值范围0~29。
+ /// - Returns: [IBHistoryBloodOxygenItem] \
+ /// Read from ``IBResponse``.items
+ public static let syncBloodOxygen: IOTBluetooth.IBAbility
+
+ /// 同步历史步数
+ /// - Parameter value:
+ /// 0 = 今天 \
+ /// 1 = 前1天 \
+ /// 2 = 前2天 \
+ /// 3 = 前3天 \
+ /// 依此类推,取值范围0~29。
+ /// - Returns: [IBHistoryStepItem] \
+ /// Read from ``IBResponse``.items
+ public static let syncStepCount: IOTBluetooth.IBAbility
+
+ /// 同步燃脂时间历史数据
+ /// - Parameter value:
+ /// 0 = 今天 \
+ /// 1 = 前1天 \
+ /// 2 = 前2天 \
+ /// 3 = 前3天 \
+ /// 依此类推,取值范围0~29。
+ /// - Returns: [IBHistoryBurningItem] \
+ /// Read from ``IBResponse``.items
+ public static let syncFatBurning: IOTBluetooth.IBAbility
+
+ /// 同步站立历史数据
+ /// - Parameter value:
+ /// 0 = 今天 \
+ /// 1 = 前1天 \
+ /// 2 = 前2天 \
+ /// 3 = 前3天 \
+ /// 依此类推,取值范围0~29。
+ /// - Returns: [IBHistoryStandItem] \
+ /// Read from ``IBResponse``.items
+ public static let syncStand: IOTBluetooth.IBAbility
+
+ /// 同步卡路里历史数据
+ /// - Parameter value:
+ /// 0 = 今天 \
+ /// 1 = 前1天 \
+ /// 2 = 前2天 \
+ /// 3 = 前3天 \
+ /// 依此类推,取值范围0~29。
+ /// - Returns: [IBHistoryCalorieItem] \
+ /// Read from ``IBResponse``.items
+ public static let syncCalorie: IOTBluetooth.IBAbility
+
+ /// 同步距离历史数据
+ /// - Parameter value:
+ /// 0 = 今天 \
+ /// 1 = 前1天 \
+ /// 2 = 前2天 \
+ /// 3 = 前3天 \
+ /// 依此类推,取值范围0~29。
+ /// - Returns: [IBHistoryDistanceItem] \
+ /// Read from ``IBResponse``.items
+ public static let syncDistance: IOTBluetooth.IBAbility
+
+ /// 同步基础训练历史数据
+ /// - Parameter value:
+ /// 0 = 今天 \
+ /// 1 = 前1天 \
+ /// 2 = 前2天 \
+ /// 3 = 前3天 \
+ /// 依此类推,取值范围0~29。
+ /// - Returns: [IBHistoryBaseTrainingItem] \
+ /// Read from ``IBResponse``.items
+ public static let syncTrain: IOTBluetooth.IBAbility
+
+ /// 同步睡眠历史数据
+ /// - Parameter value:
+ /// 0 = 今天 \
+ /// 1 = 前1天 \
+ /// 2 = 前2天 \
+ /// 3 = 前3天 \
+ /// 依此类推,取值范围0~29。
+ /// - Returns: [IBHistorySleepItem] \
+ /// Read from ``IBResponse``.items
+ public static let syncSleep: IOTBluetooth.IBAbility
+
+ /// 同步路径坐标集历史数据
+ /// - Parameter value:开始训练时间戳
+ /// - Returns: [IBHistoryGpsItem] \
+ /// Read from ``IBResponse``.items
+ public static let syncGPS: IOTBluetooth.IBAbility
+
+ /// 发送同步数据结束消息
+ public static let sendSyncEnd: IOTBluetooth.IBAbility
+
+ /// 获取SD卡剩余空间
+ /// - Returns: Int \
+ /// Read from ``IBResponse``.value
+ public static let disk: IOTBluetooth.IBAbility
+
+ /// 发送手机信息
+ /// - Returns: Int \
+ /// 0 = 指令校验失败 \
+ /// 1 = 手表未与任何手机绑定 \
+ /// 2 = 手表已与该手机绑定 \
+ /// 3 = 手表已与其他手机绑定 \
+ /// Read from ``IBResponse``.value
+ public static let sendPhone: IOTBluetooth.IBAbility
+
+ /// 发送当前时间
+ /// - Parameter sendTime: see ``IBSendTime``
+ public static let sendTime: IOTBluetooth.IBAbility
+
+ /// 发送解除配对消息
+ public static let unpair: IOTBluetooth.IBAbility
+
+ /// 发送取消解除配对消息
+ public static let sendUnpair: IOTBluetooth.IBAbility
+
+ /// 发送天气数据
+ /// - Parameter weather: see ``IBWeather``
+ public static let sendWeather: IOTBluetooth.IBAbility
+
+ /// 发送通讯录
+ /// - Parameter addressBook: see ``IBAddressBook``
+ /// 联系人个数0~20
+ public static let addressBook: IOTBluetooth.IBAbility
+
+ /// 发送MP3文件信息
+ /// - Parameter mp3: see ``IBMp3File``
+ public static let mp3: IOTBluetooth.IBAbility
+
+ /// 发送自定义表盘文件汇总信息
+ /// - Parameter customDial: see ``IBCustomDail``
+ public static let customDial: IOTBluetooth.IBAbility
+
+ /// 发送市场表盘文件汇总信息
+ /// - Parameter marketDial: see ``IBMarketDail``
+ public static let marketDial: IOTBluetooth.IBAbility
+
+ /// 删除指定文件
+ /// - Parameter deleteFile: see ``IBDeleteFile``
+ public static let deleteFile: IOTBluetooth.IBAbility
+
+ /// 删除指定类型所有文件(当前只支持 MP3 和 表盘)
+ /// - Parameter file: see ``IBFile``
+ public static let deleteFiles: IOTBluetooth.IBAbility
+
+ /// 发送OTA文件信息
+ /// - Parameter ota: see ``IBOtaFile``
+ public static let ota: IOTBluetooth.IBAbility
+
+ /// 撤销当前文件传输
+ /// - Parameter file: see ``IBFile``
+ public static let revokeFileSend: IOTBluetooth.IBAbility
+
+ /// 获取指定类型所有文件(当前只支持 MP3 和 表盘)
+ /// - Parameter file: see ``IBFile``
+ /// - Returns: IBFetchFile \
+ /// Read from ``IBResponse``.value
+ public static let fetchFiles: IOTBluetooth.IBAbility
+}
+```
+
+
+
+### 方法调用
+
+```swift
+/// 发送指令
+/// IBAbility 功能接口
+/// IBParameter 参数
+/// IBCompletionHandler 请求结果,返回的闭包IBResponse包含isSuccess、message、items(当结果为集合时,应该从此字段读取)、value(当结果为非集合,应该从此字段读取)
+IBSender().ability(_ value: IBAbility).parameters(_ value: [IBParameter]).response(_ handler: @escaping IBCompletionHandler)
+```
+
+### 示例
+
+```swift
+let datas: [(ability: IBAbility, label: String, parameters: [IBParameter])] = [
+ (.userData,"设置用户数据",[.userInfo(IBUserInfo())]),
+ (.language, "设置语言", [.language(.english)]),
+ (.about,"关于本机内容",[]),
+ (.find, "开始查找手表", [.action(1)]),
+ (.find, "停止查找手表", [.action(0)]),
+ (.message, "开启消息推送功能", [.action(1)]),
+ (.message, "关闭消息推送功能", [.action(0)]),
+
+ (.takePhoto, "开启手势拍照", [.action(1)]),
+ (.takePhoto, "关闭手势拍照", [.action(0)]),
+ (.restore, "恢复出厂设置", []),
+ (.reboot, "重新启动", []),
+ (.shutdown, "关机", []),
+ (.fetchScreen, "获取手表屏幕参数", []),
+ (.screen, "设置手表屏幕参数", [.screen(Config.setScreen())]),
+ (.fetchBattery, "获取电量", []),
+ (.fetchClock, "获取闹钟设置", []),
+ (.setClock, "发送闹钟设置", [.clock(IBClock())]),
+
+ (.fetchCurrentDialId, "发送当前表盘ID", []),
+ (.switchDial, "切换表盘", [.dialID(1028)]),
+ (.deleteDial, "删除表盘", [.dialID(10001)]),
+ (.fetchDials, "获取所有表盘UID", []),
+ (.checkDialID, "获取某表盘ID是否已安装", [.dialID(10001)]),
+
+ (.fetchWatchState, "获取当前手表状态", []),
+ (.fetchVibrateSound, "获取手表声音与震动参数", []),
+ (.vibrateSound, "设置手表声音与震动参数", [.vibrateSound(Config.setVibrateSound())]),
+ (.fetchAuxiliary, "获取手表辅助功能参数", []),
+ (.auxiliary, "设置手表辅助功能参数", [.auxiliary(.bloodOxygen)]),
+ (.unit, "设置手表公英制单位", [.value(1)]),
+
+
+ (.disk, "获取SD卡剩余空间", []),
+ (.unpair, "发送解除配对消息", []),
+ (.sendUnpair, "发送取消解除配对消息", []),
+
+
+ (.startSport, "开启指定运动模式", [.motionMode(.running)]),
+ (.trainPauseResume, "训练暂停", [.action(0)]),
+ (.trainPauseResume, "训练恢复", [.action(1)]),
+ (.endSport, "结束运动模式", []),
+
+ (.heartRateMode, "开启自动获取实时心率", [.action(1)]),
+ (.heartRateMode, "关闭自动获取实时心率", [.action(0)]),
+ (.heartRateHigh, "设置最高心率提醒", [.value(240)]),
+ (.heartRateHigh, "关闭最高心率提醒", [.value(0)]),
+ (.fetchHeartRate, "获取手表心率参数", []),
+ (.heartRate, "设置手表心率参数", [.heartRate(IBHeartRate())]),
+ (.currentHeartRate, "获取实时心率", []),
+
+ (.fetchBloodOxygen, "获取手表血氧设置", []),
+ (.bloodOxygen, "设置手表血氧参数", [.bloodOxygen(IBBloodOxygen())]),
+ (.trainFrequency, "设置训练实时数据采样频率", [.value(30)]),
+
+ (.fetchTargetStep, "获取目标步数设置", []),
+ (.targetStep, "设置目标步数", [.targetStep(IBTargetStep())]),
+ (.fetchOtherTarget, "获取其他目标设置", []),
+ (.targetOther, "设置其他目标", [.otherTarget(IBOtherTarget())]),
+ (.trainTarget, "设置训练目标", [.trainTarget(IBTrainTarget())]),
+ (.fetchSleep, "获取睡眠设置", []),
+ (.sleep, "设置睡眠", [.sleep(IBSleep())]),
+ (.fetchWater, "获取手表喝水提醒设置", []),
+ (.water, "设置喝水提醒", [.water(IBWater())]),
+
+
+ (.syncHeartRate, "同步心率历史数据", [.value(0)]),
+ (.syncBloodOxygen, "同步血氧历史数据", [.value(0)]),
+ (.syncStepCount, "同步历史步数数据", [.value(0)]),
+ (.syncFatBurning, "同步燃脂时间历史数据", [.value(0)]),
+ (.syncStand, "同步站立历史数据", [.value(0)]),
+ (.syncCalorie, "同步卡路里历史数据", [.value(0)]),
+ (.syncDistance, "同步距离历史数据", [.value(0)]),
+ (.syncTrain, "同步基础训练历史数据", [.value(0)]),
+ (.syncSleep, "同步睡眠历史数据", [.value(0)]),
+ (.syncGPS, "同步路径坐标集历史数据", [.value(1654012800)]),
+ (.sendSyncEnd, "发送同步数据结束消息", []),
+ (.addressBook, "发送通讯录", [.addressBook([IBAddressBook()])]),
+
+// (.epo, "发送EPO文件", []),
+ (.ota, "发送OTA文件", []),
+ (.mp3, "发送MP3文件", []),
+// (.dial, "发送自定义表盘文件", []),
+ (.dial, "发送市场表盘文件", []),
+ (.revokeFileSend, "撤销当前文件传输", []),
+
+
+ (.deleteFile, "删除指定文件", [.deleteFile(IBDeleteFile())]),
+ (.deleteFiles, "删除指定类型所有文件", [.file(.mp3)]),
+ (.fetchFiles, "获取指定类型所有文件", [.file(.mp3)]),
+
+ (.sendWeather, "发送天气数据", [.weather(IBWeather())]),
+]
+func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
+
+ let data = datas[indexPath.row]
+ if data.label.isEqual("发送OTA文件"){
+ self.sendOta()
+ }
+ else if data.label.isEqual("发送MP3文件"){
+ self.sendMp3()
+ }
+ else if data.label.isEqual("发送EPO文件"){
+ self.sendEpo()
+ }
+ else if data.label.isEqual("发送自定义表盘文件"){
+ self.sendCustomDial()
+ }
+ else if data.label.isEqual("发送市场表盘文件"){
+ self.sendMarketDial()
+ }
+ else if data.label.isEqual("撤销当前文件传输"){
+ self.revokeFileSend()
+ }
+ else{
+ activityIndicatorView.startAnimating()
+ IBSender()
+ .ability(data.ability)
+ .parameters(data.parameters)
+ .response {[weak self] result in
+ guard let self = self else {return}
+ if result.isSuccess{
+ //请求成功
+ }
+ else{
+ //请求失败
+ }
+ print(result)
+ activityIndicatorView.stopAnimating()
+ }
+ }
+}
+
+ func sendOta(){
+ guard let path = Bundle.main.path(forResource: "20240607_092332_2_20240607_110430_ota", ofType: "fwpkg") else {return}
+ let info = IBSendOta()
+ info.major = 2
+ info.mid = 1
+ info.minor = 4
+ info.isForced = 0
+ info.filePath = path
+
+ activityIndicatorView.startAnimating()
+ IBFileSender().ota(info).progress({ total, current in
+ print("\(total) : \(current)")
+ }).response {[weak self] result in
+ print(result)
+ self?.activityIndicatorView.stopAnimating()
+ }
+ }
+ func sendMp3(){
+ guard let path = Bundle.main.path(forResource: "大约在冬季", ofType: "mp3") else {return}
+ let info = IBSendMp3()
+ info.name = "大约在冬季.mp3"
+ info.filePath = path
+
+ activityIndicatorView.startAnimating()
+ IBFileSender().mp3(info).progress({ total, current in
+ print("\(total) : \(current)")
+ }).response {[weak self] result in
+ print(result)
+ self?.activityIndicatorView.stopAnimating()
+ }
+ }
+ func sendEpo(){
+
+ }
+ func sendCustomDial(){
+ //自定义表盘目前硬件端还不支持
+// guard let path = Bundle.main.path(forResource: "galaxy", ofType: "lzma") else {return}
+// let file = IBDialFile()
+// file.filePath = path
+// file.fileName = "galaxy.lzma"
+//
+// let info = IBDial()
+// info.UID = 0
+// info.files = [file]
+//
+// info.batteryStyle = 1
+// info.timeStyle = 1
+// info.timeColor = 1
+//
+// activityIndicatorView.startAnimating()
+// IBFileSender().dial(info).progress({ total, current in
+// print("\(total) : \(current)")
+// }).response {[weak self] result in
+// print(result)
+// self?.activityIndicatorView.stopAnimating()
+// }
+ }
+
+ //目前只支持表盘市场
+ func sendMarketDial(){
+ guard let path = Bundle.main.path(forResource: "galaxy", ofType: "lzma") else {return}
+ let file = IBDialFile()
+ file.filePath = path
+ file.fileName = "galaxy.lzma"
+
+ let info = IBDial()
+ info.UID = 1000
+ info.files = [file]
+
+ info.theme = "黑暗"
+
+ activityIndicatorView.startAnimating()
+ IBFileSender().dial(info).progress({ total, current in
+ print("\(total) : \(current)")
+ }).response {[weak self] result in
+ print(result)
+ self?.activityIndicatorView.stopAnimating()
+ }
+ }
+
+ func revokeFileSend(){
+ IBFileSender().revokeFileSend(){ result in
+ print(result)
+ }
+ }
+```
--- /dev/null
+//
+// AbilityViewController.swift
+// Example
+//
+// Created by yaozuopan on 2024/3/11.
+//
+
+import UIKit
+import IOTBluetooth
+
+class AbilityViewController: BaseViewController {
+
+ @IBOutlet weak var listView: UITableView!
+
+ override func viewDidLoad() {
+ super.viewDidLoad()
+ title = "已连接" + IBManager.currentConnected!.name
+ }
+
+ deinit {
+ IBManager.remove(self)
+ }
+}
+
+extension AbilityViewController: UITableViewDelegate, UITableViewDataSource {
+
+ func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
+ datas.count
+ }
+
+ func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
+ let data = datas[indexPath.row]
+ let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath)
+ let label = cell.viewWithTag(10) as! UILabel
+ label.text = "\(indexPath.row) " + data.ability.description + " \(data.label)"
+ return cell
+ }
+
+ func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
+
+ let data = datas[indexPath.row]
+ if data.label.isEqual("发送OTA文件"){
+ self.sendOta()
+ }
+ else if data.label.isEqual("发送MP3文件"){
+ self.sendMp3()
+ }
+ else if data.label.isEqual("发送EPO文件"){
+ self.sendEpo()
+ }
+ else if data.label.isEqual("发送自定义表盘文件"){
+ self.sendCustomDial()
+ }
+ else if data.label.isEqual("发送市场表盘文件"){
+ self.sendMarketDial()
+ }
+ else if data.label.isEqual("撤销当前文件传输"){
+ self.revokeFileSend()
+ }
+ else{
+ activityIndicatorView.startAnimating()
+ IBSender()
+ .ability(data.ability)
+ .parameters(data.parameters)
+ .response {[weak self] result in
+ guard let self = self else {return}
+ print(result)
+ activityIndicatorView.stopAnimating()
+ }
+ }
+ }
+}
+extension AbilityViewController{
+ func sendOta(){
+ //OTA升级的固件要跟手表版本对应
+ guard let path = Bundle.main.path(forResource: "20240604_155433_2_V1.0.1_20240618_113111_ota", ofType: "fwpkg") else {return}
+ let info = IBSendOta()
+ info.major = 2
+ info.mid = 1
+ info.minor = 5
+ info.isForced = 0
+ info.filePath = path
+
+ activityIndicatorView.startAnimating()
+ IBFileSender().ota(info).progress({ total, current in
+ print("\(total) : \(current)")
+ }).response {[weak self] result in
+ print(result)
+ self?.activityIndicatorView.stopAnimating()
+ }
+ }
+ func sendMp3(){
+ guard let path = Bundle.main.path(forResource: "大约在冬季", ofType: "mp3") else {return}
+ let info = IBSendMp3()
+ info.name = "大约在冬季.mp3"
+ info.filePath = path
+
+ activityIndicatorView.startAnimating()
+ IBFileSender().mp3(info).progress({ total, current in
+ print("\(total) : \(current)")
+ }).response {[weak self] result in
+ print(result)
+ self?.activityIndicatorView.stopAnimating()
+ }
+ }
+ func sendEpo(){
+
+ }
+ func sendCustomDial(){
+ //自定义表盘目前硬件端还不支持
+// guard let path = Bundle.main.path(forResource: "galaxy", ofType: "lzma") else {return}
+// let file = IBDialFile()
+// file.filePath = path
+// file.fileName = "galaxy.lzma"
+//
+// let info = IBDial()
+// info.UID = 0
+// info.files = [file]
+//
+// info.batteryStyle = 1
+// info.timeStyle = 1
+// info.timeColor = 1
+//
+// activityIndicatorView.startAnimating()
+// IBFileSender().dial(info).progress({ total, current in
+// print("\(total) : \(current)")
+// }).response {[weak self] result in
+// print(result)
+// self?.activityIndicatorView.stopAnimating()
+// }
+ }
+
+ //目前只支持表盘市场
+ func sendMarketDial(){
+ guard let path = Bundle.main.path(forResource: "galaxy", ofType: "lzma") else {return}
+ let file = IBDialFile()
+ file.filePath = path
+ file.fileName = "galaxy.lzma"
+
+ let info = IBDial()
+ info.UID = 10001
+ info.files = [file]
+
+ info.theme = "黑暗"
+
+ activityIndicatorView.startAnimating()
+ IBFileSender().dial(info).progress({ total, current in
+ print("\(total) : \(current)")
+ }).response {[weak self] result in
+ print(result)
+ self?.activityIndicatorView.stopAnimating()
+ }
+ }
+
+ func revokeFileSend(){
+ IBFileSender().revokeFileSend(){ result in
+ print(result)
+ }
+ }
+}
--- /dev/null
+//
+// AppDelegate.swift
+// Example
+//
+// Created by yaozuopan on 2024/3/11.
+//
+
+import UIKit
+import IOTBluetooth
+
+@main
+class AppDelegate: UIResponder, UIApplicationDelegate {
+
+ var window: UIWindow?
+
+ func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
+ // Override point for customization after application launch.
+ IBManager.isDebug = true
+ IBManager.initializationSDK()
+
+ return true
+ }
+}
+
--- /dev/null
+{
+ "colors" : [
+ {
+ "idiom" : "universal"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
--- /dev/null
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "platform" : "ios",
+ "size" : "1024x1024"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
--- /dev/null
+{
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="13122.16" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
+ <dependencies>
+ <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13104.12"/>
+ <capability name="Safe area layout guides" minToolsVersion="9.0"/>
+ <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+ </dependencies>
+ <scenes>
+ <!--View Controller-->
+ <scene sceneID="EHf-IW-A2E">
+ <objects>
+ <viewController id="01J-lp-oVM" sceneMemberID="viewController">
+ <view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
+ <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
+ <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+ <color key="backgroundColor" xcode11CocoaTouchSystemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
+ <viewLayoutGuide key="safeArea" id="6Tk-OE-BBY"/>
+ </view>
+ </viewController>
+ <placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
+ </objects>
+ <point key="canvasLocation" x="53" y="375"/>
+ </scene>
+ </scenes>
+</document>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="22154" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="N0z-3Q-0cV">
+ <device id="retina6_12" orientation="portrait" appearance="light"/>
+ <dependencies>
+ <deployment identifier="iOS"/>
+ <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22130"/>
+ <capability name="Safe area layout guides" minToolsVersion="9.0"/>
+ <capability name="System colors in document resources" minToolsVersion="11.0"/>
+ <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+ </dependencies>
+ <scenes>
+ <!--View Controller-->
+ <scene sceneID="tne-QT-ifu">
+ <objects>
+ <viewController id="BYZ-38-t0r" customClass="ViewController" customModule="Example" customModuleProvider="target" sceneMemberID="viewController">
+ <view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC">
+ <rect key="frame" x="0.0" y="0.0" width="393" height="852"/>
+ <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+ <subviews>
+ <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="58" estimatedRowHeight="-1" sectionHeaderHeight="-1" estimatedSectionHeaderHeight="-1" sectionFooterHeight="-1" estimatedSectionFooterHeight="-1" translatesAutoresizingMaskIntoConstraints="NO" id="RKq-Q5-E1e">
+ <rect key="frame" x="0.0" y="103" width="393" height="715"/>
+ <color key="backgroundColor" systemColor="systemBackgroundColor"/>
+ <prototypes>
+ <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" reuseIdentifier="Cell" id="mKl-Ep-zp7">
+ <rect key="frame" x="0.0" y="50" width="393" height="58"/>
+ <autoresizingMask key="autoresizingMask"/>
+ <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="mKl-Ep-zp7" id="xZ6-4z-8zc">
+ <rect key="frame" x="0.0" y="0.0" width="393" height="58"/>
+ <autoresizingMask key="autoresizingMask"/>
+ <subviews>
+ <label opaque="NO" userInteractionEnabled="NO" tag="10" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="Ozl-1L-96I">
+ <rect key="frame" x="20" y="0.0" width="393" height="44"/>
+ <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+ <fontDescription key="fontDescription" type="system" pointSize="16"/>
+ <nil key="textColor"/>
+ <nil key="highlightedColor"/>
+ </label>
+ </subviews>
+ </tableViewCellContentView>
+ </tableViewCell>
+ </prototypes>
+ <connections>
+ <outlet property="dataSource" destination="BYZ-38-t0r" id="KEn-Bj-0ou"/>
+ <outlet property="delegate" destination="BYZ-38-t0r" id="zAL-SD-0GB"/>
+ </connections>
+ </tableView>
+ <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="7ay-es-UF4">
+ <rect key="frame" x="20" y="760" width="353" height="48"/>
+ <color key="backgroundColor" white="0.33333333333333331" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+ <constraints>
+ <constraint firstAttribute="height" constant="48" id="F8P-Z9-NxD"/>
+ </constraints>
+ <state key="normal" title="Button"/>
+ <buttonConfiguration key="configuration" style="plain" title="开始扫描">
+ <color key="baseForegroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
+ </buttonConfiguration>
+ <connections>
+ <action selector="startScan:" destination="BYZ-38-t0r" eventType="touchUpInside" id="WXL-8o-mzn"/>
+ </connections>
+ </button>
+ </subviews>
+ <viewLayoutGuide key="safeArea" id="6Tk-OE-BBY"/>
+ <color key="backgroundColor" systemColor="systemBackgroundColor"/>
+ <constraints>
+ <constraint firstItem="6Tk-OE-BBY" firstAttribute="trailing" secondItem="7ay-es-UF4" secondAttribute="trailing" constant="20" id="Bom-fa-x9d"/>
+ <constraint firstItem="RKq-Q5-E1e" firstAttribute="top" secondItem="6Tk-OE-BBY" secondAttribute="top" id="YP9-zA-NHJ"/>
+ <constraint firstItem="7ay-es-UF4" firstAttribute="leading" secondItem="6Tk-OE-BBY" secondAttribute="leading" constant="20" id="dmH-JU-ktT"/>
+ <constraint firstItem="6Tk-OE-BBY" firstAttribute="bottom" secondItem="RKq-Q5-E1e" secondAttribute="bottom" id="eHd-et-96w"/>
+ <constraint firstItem="6Tk-OE-BBY" firstAttribute="trailing" secondItem="RKq-Q5-E1e" secondAttribute="trailing" id="hA5-9T-VjE"/>
+ <constraint firstItem="6Tk-OE-BBY" firstAttribute="bottom" secondItem="7ay-es-UF4" secondAttribute="bottom" constant="10" id="i1w-ey-a2A"/>
+ <constraint firstItem="RKq-Q5-E1e" firstAttribute="leading" secondItem="6Tk-OE-BBY" secondAttribute="leading" id="xPp-RO-pzR"/>
+ </constraints>
+ </view>
+ <navigationItem key="navigationItem" id="E54-uL-zWI"/>
+ <connections>
+ <outlet property="listView" destination="RKq-Q5-E1e" id="qfn-V9-j3J"/>
+ </connections>
+ </viewController>
+ <placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/>
+ </objects>
+ <point key="canvasLocation" x="801" y="-27"/>
+ </scene>
+ <!--Log View Controller-->
+ <scene sceneID="3aF-UB-WCT">
+ <objects>
+ <viewController storyboardIdentifier="LogViewController" id="ago-xE-OKV" customClass="LogViewController" customModule="Example" customModuleProvider="target" sceneMemberID="viewController">
+ <view key="view" contentMode="scaleToFill" id="4gB-Hw-kTK">
+ <rect key="frame" x="0.0" y="0.0" width="393" height="852"/>
+ <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+ <subviews>
+ <textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" editable="NO" textAlignment="natural" selectable="NO" translatesAutoresizingMaskIntoConstraints="NO" id="xJe-py-i7Q">
+ <rect key="frame" x="0.0" y="59" width="393" height="759"/>
+ <color key="backgroundColor" systemColor="systemBackgroundColor"/>
+ <color key="textColor" systemColor="labelColor"/>
+ <fontDescription key="fontDescription" type="system" pointSize="16"/>
+ <textInputTraits key="textInputTraits" autocapitalizationType="sentences"/>
+ </textView>
+ </subviews>
+ <viewLayoutGuide key="safeArea" id="yVM-Dy-u7V"/>
+ <color key="backgroundColor" systemColor="systemBackgroundColor"/>
+ <constraints>
+ <constraint firstItem="xJe-py-i7Q" firstAttribute="leading" secondItem="yVM-Dy-u7V" secondAttribute="leading" id="8MP-zU-Cxi"/>
+ <constraint firstItem="yVM-Dy-u7V" firstAttribute="trailing" secondItem="xJe-py-i7Q" secondAttribute="trailing" id="d6v-ye-r1Q"/>
+ <constraint firstItem="xJe-py-i7Q" firstAttribute="top" secondItem="yVM-Dy-u7V" secondAttribute="top" id="lUI-pv-4kr"/>
+ <constraint firstItem="yVM-Dy-u7V" firstAttribute="bottom" secondItem="xJe-py-i7Q" secondAttribute="bottom" id="uf3-su-pES"/>
+ </constraints>
+ </view>
+ <connections>
+ <outlet property="textView" destination="xJe-py-i7Q" id="b3C-Ir-hk1"/>
+ </connections>
+ </viewController>
+ <placeholder placeholderIdentifier="IBFirstResponder" id="6Cs-6n-eDn" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
+ </objects>
+ <point key="canvasLocation" x="2382" y="-6"/>
+ </scene>
+ <!--Ability View Controller-->
+ <scene sceneID="Yia-bv-A8B">
+ <objects>
+ <viewController storyboardIdentifier="AbilityViewController" id="JPv-Dt-eg2" customClass="AbilityViewController" customModule="Example" customModuleProvider="target" sceneMemberID="viewController">
+ <view key="view" contentMode="scaleToFill" id="Hma-70-4oz">
+ <rect key="frame" x="0.0" y="0.0" width="393" height="852"/>
+ <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+ <subviews>
+ <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="58" estimatedRowHeight="-1" sectionHeaderHeight="-1" estimatedSectionHeaderHeight="-1" sectionFooterHeight="-1" estimatedSectionFooterHeight="-1" translatesAutoresizingMaskIntoConstraints="NO" id="bnq-UC-P0z">
+ <rect key="frame" x="0.0" y="59" width="393" height="759"/>
+ <color key="backgroundColor" systemColor="systemBackgroundColor"/>
+ <prototypes>
+ <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" reuseIdentifier="Cell" id="7qT-rz-alG">
+ <rect key="frame" x="0.0" y="50" width="393" height="58"/>
+ <autoresizingMask key="autoresizingMask"/>
+ <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="7qT-rz-alG" id="0Eo-6i-SKR">
+ <rect key="frame" x="0.0" y="0.0" width="393" height="58"/>
+ <autoresizingMask key="autoresizingMask"/>
+ <subviews>
+ <label opaque="NO" userInteractionEnabled="NO" tag="10" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="HJh-QJ-LSE">
+ <rect key="frame" x="20" y="0.0" width="393" height="44"/>
+ <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+ <fontDescription key="fontDescription" type="system" pointSize="16"/>
+ <nil key="textColor"/>
+ <nil key="highlightedColor"/>
+ </label>
+ </subviews>
+ </tableViewCellContentView>
+ </tableViewCell>
+ </prototypes>
+ <connections>
+ <outlet property="dataSource" destination="JPv-Dt-eg2" id="4Dn-sX-CHM"/>
+ <outlet property="delegate" destination="JPv-Dt-eg2" id="D0d-rk-03i"/>
+ </connections>
+ </tableView>
+ </subviews>
+ <viewLayoutGuide key="safeArea" id="DdV-oh-w91"/>
+ <color key="backgroundColor" systemColor="systemBackgroundColor"/>
+ <constraints>
+ <constraint firstItem="bnq-UC-P0z" firstAttribute="trailing" secondItem="DdV-oh-w91" secondAttribute="trailing" id="HlS-O5-i6q"/>
+ <constraint firstItem="bnq-UC-P0z" firstAttribute="leading" secondItem="DdV-oh-w91" secondAttribute="leading" id="X3a-dc-JS8"/>
+ <constraint firstItem="DdV-oh-w91" firstAttribute="bottom" secondItem="bnq-UC-P0z" secondAttribute="bottom" id="cQ8-Ir-C5b"/>
+ <constraint firstItem="bnq-UC-P0z" firstAttribute="top" secondItem="DdV-oh-w91" secondAttribute="top" id="mOB-6g-oA5"/>
+ </constraints>
+ </view>
+ <connections>
+ <outlet property="listView" destination="bnq-UC-P0z" id="6xM-bK-LZ5"/>
+ </connections>
+ </viewController>
+ <placeholder placeholderIdentifier="IBFirstResponder" id="NfJ-PH-E4m" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
+ </objects>
+ <point key="canvasLocation" x="3248" y="2"/>
+ </scene>
+ <!--Connect View Controller-->
+ <scene sceneID="bxU-lV-0i1">
+ <objects>
+ <viewController storyboardIdentifier="ConnectViewController" id="eov-tG-Twx" customClass="ConnectViewController" customModule="Example" customModuleProvider="target" sceneMemberID="viewController">
+ <view key="view" contentMode="scaleToFill" id="SBK-gl-A6E">
+ <rect key="frame" x="0.0" y="0.0" width="393" height="852"/>
+ <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+ <subviews>
+ <textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" text="{"pn":"Frank的iPhone","tp":1,"mac": []}" textAlignment="natural" translatesAutoresizingMaskIntoConstraints="NO" id="Pqd-LO-3aH">
+ <rect key="frame" x="0.0" y="59" width="393" height="120"/>
+ <color key="backgroundColor" systemColor="opaqueSeparatorColor"/>
+ <constraints>
+ <constraint firstAttribute="height" constant="120" id="v9S-7f-5Fh"/>
+ </constraints>
+ <color key="textColor" systemColor="labelColor"/>
+ <fontDescription key="fontDescription" type="system" pointSize="18"/>
+ <textInputTraits key="textInputTraits" autocapitalizationType="sentences" returnKeyType="done"/>
+ <connections>
+ <outlet property="delegate" destination="eov-tG-Twx" id="nCJ-6B-dL1"/>
+ </connections>
+ </textView>
+ <textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" textAlignment="natural" translatesAutoresizingMaskIntoConstraints="NO" id="Twf-BA-724">
+ <rect key="frame" x="0.0" y="199" width="393" height="220"/>
+ <color key="backgroundColor" systemColor="systemGray2Color"/>
+ <constraints>
+ <constraint firstAttribute="height" constant="220" id="fqS-DU-ETk"/>
+ </constraints>
+ <color key="textColor" systemColor="labelColor"/>
+ <fontDescription key="fontDescription" type="system" pointSize="16"/>
+ <textInputTraits key="textInputTraits" autocapitalizationType="sentences" returnKeyType="done"/>
+ <connections>
+ <outlet property="delegate" destination="eov-tG-Twx" id="VmH-lo-6NY"/>
+ </connections>
+ </textView>
+ <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="DVT-QD-oN7">
+ <rect key="frame" x="20" y="750" width="353" height="48"/>
+ <color key="backgroundColor" white="0.33333333329999998" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+ <constraints>
+ <constraint firstAttribute="height" constant="48" id="396-mE-5wP"/>
+ </constraints>
+ <state key="normal" title="Button"/>
+ <buttonConfiguration key="configuration" style="plain" title="发送数据">
+ <color key="baseForegroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
+ </buttonConfiguration>
+ <connections>
+ <action selector="onSend:" destination="eov-tG-Twx" eventType="touchDragInside" id="pvr-uo-GET"/>
+ </connections>
+ </button>
+ <switch opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" verticalHuggingPriority="750" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" on="YES" translatesAutoresizingMaskIntoConstraints="NO" id="jGd-7q-9KR">
+ <rect key="frame" x="92" y="478" width="49" height="31"/>
+ <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+ </switch>
+ <switch opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" verticalHuggingPriority="750" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" translatesAutoresizingMaskIntoConstraints="NO" id="kbp-iU-C4q">
+ <rect key="frame" x="295" y="478" width="49" height="31"/>
+ <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+ </switch>
+ <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="新校验" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="3Zg-F7-eqo">
+ <rect key="frame" x="20" y="478" width="56" height="31"/>
+ <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+ <fontDescription key="fontDescription" type="system" pointSize="18"/>
+ <nil key="textColor"/>
+ <nil key="highlightedColor"/>
+ </label>
+ <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="旧校验" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ewm-Rs-dWC">
+ <rect key="frame" x="218" y="478" width="56" height="31"/>
+ <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+ <fontDescription key="fontDescription" type="system" pointSize="18"/>
+ <nil key="textColor"/>
+ <nil key="highlightedColor"/>
+ </label>
+ </subviews>
+ <viewLayoutGuide key="safeArea" id="HCI-Ha-ZY4"/>
+ <color key="backgroundColor" systemColor="systemBackgroundColor"/>
+ <constraints>
+ <constraint firstItem="Pqd-LO-3aH" firstAttribute="top" secondItem="HCI-Ha-ZY4" secondAttribute="top" id="2TG-aD-Jtc"/>
+ <constraint firstItem="HCI-Ha-ZY4" firstAttribute="trailing" secondItem="Pqd-LO-3aH" secondAttribute="trailing" id="5DP-OD-tU2"/>
+ <constraint firstItem="HCI-Ha-ZY4" firstAttribute="trailing" secondItem="Twf-BA-724" secondAttribute="trailing" id="FIE-N3-SKu"/>
+ <constraint firstItem="Pqd-LO-3aH" firstAttribute="leading" secondItem="HCI-Ha-ZY4" secondAttribute="leading" id="ZGV-eX-LM5"/>
+ <constraint firstItem="Twf-BA-724" firstAttribute="top" secondItem="Pqd-LO-3aH" secondAttribute="bottom" constant="20" id="gBA-8M-66V"/>
+ <constraint firstItem="Twf-BA-724" firstAttribute="leading" secondItem="HCI-Ha-ZY4" secondAttribute="leading" id="iqq-KN-LGf"/>
+ <constraint firstItem="DVT-QD-oN7" firstAttribute="leading" secondItem="HCI-Ha-ZY4" secondAttribute="leading" constant="20" id="ovp-HB-7J5"/>
+ <constraint firstItem="HCI-Ha-ZY4" firstAttribute="trailing" secondItem="DVT-QD-oN7" secondAttribute="trailing" constant="20" id="wag-Lo-3sT"/>
+ <constraint firstItem="HCI-Ha-ZY4" firstAttribute="bottom" secondItem="DVT-QD-oN7" secondAttribute="bottom" constant="20" id="xae-p3-Qs3"/>
+ </constraints>
+ </view>
+ <connections>
+ <outlet property="dataPacketView" destination="Twf-BA-724" id="C8I-gS-FAw"/>
+ <outlet property="dataView" destination="Pqd-LO-3aH" id="uKz-yR-bOa"/>
+ <outlet property="newLRC" destination="jGd-7q-9KR" id="FUc-RE-P4s"/>
+ <outlet property="oldLRC" destination="kbp-iU-C4q" id="aAU-dj-Yfm"/>
+ </connections>
+ </viewController>
+ <placeholder placeholderIdentifier="IBFirstResponder" id="x7Z-K3-TU7" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
+ </objects>
+ <point key="canvasLocation" x="1563" y="-11"/>
+ </scene>
+ <!--Navigation Controller-->
+ <scene sceneID="lp1-1x-KFi">
+ <objects>
+ <navigationController automaticallyAdjustsScrollViewInsets="NO" id="N0z-3Q-0cV" sceneMemberID="viewController">
+ <toolbarItems/>
+ <navigationBar key="navigationBar" contentMode="scaleToFill" id="asY-LG-bk1">
+ <rect key="frame" x="0.0" y="59" width="393" height="44"/>
+ <autoresizingMask key="autoresizingMask"/>
+ </navigationBar>
+ <nil name="viewControllers"/>
+ <connections>
+ <segue destination="BYZ-38-t0r" kind="relationship" relationship="rootViewController" id="jD6-S9-ybK"/>
+ </connections>
+ </navigationController>
+ <placeholder placeholderIdentifier="IBFirstResponder" id="53u-X0-jIl" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
+ </objects>
+ <point key="canvasLocation" x="-5.343511450381679" y="-27.464788732394368"/>
+ </scene>
+ </scenes>
+ <resources>
+ <systemColor name="labelColor">
+ <color white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+ </systemColor>
+ <systemColor name="opaqueSeparatorColor">
+ <color red="0.77647058820000003" green="0.77647058820000003" blue="0.7843137255" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+ </systemColor>
+ <systemColor name="systemBackgroundColor">
+ <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+ </systemColor>
+ <systemColor name="systemGray2Color">
+ <color red="0.68235294120000001" green="0.68235294120000001" blue="0.69803921570000005" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+ </systemColor>
+ </resources>
+</document>
--- /dev/null
+//
+// BaseViewController.swift
+// Example
+//
+// Created by yaozuopan on 2024/3/14.
+//
+
+import UIKit
+
+class BaseViewController: UIViewController {
+
+ func showAlert(_ title: String? = nil, msg: String, confirmLabel: String? = nil, onConfirm: (() -> Void)? = nil) {
+ let alert = UIAlertController(title: title, message: msg, preferredStyle: .alert)
+ alert.addAction(UIAlertAction(title: "返回", style: .cancel))
+
+ if let confirmLabel = confirmLabel {
+ alert.addAction(UIAlertAction(title: confirmLabel, style: .default, handler: { _ in
+ onConfirm?()
+ }))
+ }
+ present(alert, animated: true)
+ }
+
+ let activityIndicatorView = UIActivityIndicatorView(style: .large)
+ override func viewDidLoad() {
+ super.viewDidLoad()
+
+ activityIndicatorView.frame = UIScreen.main.bounds
+ activityIndicatorView.layer.zPosition = 1
+ view.addSubview(activityIndicatorView)
+ }
+
+ deinit {
+ print("deinit \(Self.self)")
+ }
+}
--- /dev/null
+//
+// ConnectViewController.swift
+// Example
+//
+// Created by yaozuopan on 2024/3/14.
+//
+
+import UIKit
+import IOTBluetooth
+
+class ConnectViewController: BaseViewController {
+
+ @IBOutlet weak var dataView: UITextView!
+ @IBOutlet weak var dataPacketView: UITextView!
+ @IBOutlet weak var newLRC: UISwitch!
+ @IBOutlet weak var oldLRC: UISwitch!
+
+ var peripheral: IBPeripheral!
+
+ var dataPacket: [UInt8] = [] {
+ didSet {
+ dataPacketView.text = dataPacket.data.joined(" ")
+ }
+ }
+
+ var isNewLRC: Bool = true {
+ didSet {
+ if isNewLRC { oldLRC.isOn = false }
+ if isNewLRC == false { newLRC.isOn = false }
+
+ if isNewLRC == oldValue { return }
+ makeData()
+ }
+ }
+
+ override func viewDidLoad() {
+ super.viewDidLoad()
+ title = "已连接 \(peripheral.name)"
+
+ navigationItem.rightBarButtonItem = UIBarButtonItem(title: "查看日记", style: .done, target: self, action: #selector(onLog(_:)))
+
+ newLRC.addTarget(self, action: #selector(newOn(_:)), for: .valueChanged)
+ oldLRC.addTarget(self, action: #selector(oldOn(_:)), for: .valueChanged)
+ }
+
+ @objc func newOn(_ sender: UISwitch) {
+ isNewLRC = true
+ }
+
+ @objc func oldOn(_ sender: UISwitch) {
+ isNewLRC = false
+ }
+
+ @objc func onLog(_ sender: Any?) {
+ let vc = storyboard!.instantiateViewController(withIdentifier: "LogViewController")
+ navigationController?.pushViewController(vc, animated: true)
+ }
+
+ @IBAction func onSend(_ sender: UIButton) {
+// guard dataPacketView.text.count > 10 else { return }
+// showAlert("将发送以下数据", msg: dataPacketView.text, confirmLabel: "发送") { [unowned self] in
+// activityIndicatorView.startAnimating()
+// let bytes = dataPacketView.text!
+// .split(separator: " ")
+// .map { String($0) }
+// .map {
+// var result: UInt64 = 0
+// Scanner(string: $0).scanHexInt64(&result)
+// return UInt8(result)
+// }
+// IBManager.sendInfo(dataPacket.data) { [unowned self] isSuccess in
+// activityIndicatorView.stopAnimating()
+// guard isSuccess else { return }
+// showAlert(msg: "数据已发送")
+// }
+//
+// IBSender()
+// .ability(.battery)
+// .completion { response in
+//
+// }
+// .send()
+ }
+
+ /// 组装信息
+ func makeData() {
+
+ let data: [UInt8] = []//dataView.text!.data!.bytes
+
+ /// 分包数
+ let packageCount = 1
+ /// 数据包总长度
+ let dataTotalLength = data.count
+ /// 数据包长度
+ let dataLength = data.count
+ /// 数据包索引
+ let index = 1
+
+ let bytes = [0x73, 0x01, 0x07] + packageCount.byte4 + dataTotalLength.byte4 + index.byte4 + dataLength.byte2
+
+ dataPacket = bytes + data + [0x00]
+
+// if isNewLRC {
+// dataPacket = bytes + [LRC.calculateLRC(data)]
+// } else {
+// dataPacket = bytes + [LRC.calculate(data)]
+// }
+ }
+
+ override func viewDidAppear(_ animated: Bool) {
+ super.viewDidAppear(animated)
+ makeData()
+ }
+}
+
+extension ConnectViewController: UITextViewDelegate {
+
+ func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {
+ guard text == "\n" else { return true }
+ textView.resignFirstResponder()
+
+ if textView === dataView {
+ makeData()
+ }
+ return false
+ }
+}
--- /dev/null
+//
+// Datas.swift
+// Example
+//
+// Created by yaozuopan on 2024/3/19.
+//
+
+import Foundation
+import IOTBluetooth
+
+
+
+let datas: [(ability: IBAbility, label: String, parameters: [IBParameter])] = [
+ (.userData,"设置用户数据",[.userInfo(IBUserInfo())]),
+ (.language, "设置语言", [.language(.english)]),
+ (.about,"关于本机内容",[]),
+ (.find, "开始查找手表", [.action(1)]),
+ (.find, "停止查找手表", [.action(0)]),
+ (.message, "开启消息推送功能", [.action(1)]),
+ (.message, "关闭消息推送功能", [.action(0)]),
+
+ (.takePhoto, "开启手势拍照", [.action(1)]),
+ (.takePhoto, "关闭手势拍照", [.action(0)]),
+ (.restore, "恢复出厂设置", []),
+ (.reboot, "重新启动", []),
+ (.shutdown, "关机", []),
+ (.fetchScreen, "获取手表屏幕参数", []),
+ (.screen, "设置手表屏幕参数", [.screen(Config.setScreen())]),
+ (.fetchBattery, "获取电量", []),
+ (.fetchClock, "获取闹钟设置", []),
+ (.setClock, "发送闹钟设置", [.clock(IBClock())]),
+
+ (.fetchCurrentDialId, "发送当前表盘ID", []),
+ (.switchDial, "切换表盘", [.dialID(1028)]),
+ (.deleteDial, "删除表盘", [.dialID(10001)]),
+ (.fetchDials, "获取所有表盘UID", []),
+ (.checkDialID, "获取某表盘ID是否已安装", [.dialID(10001)]),
+
+ (.fetchWatchState, "获取当前手表状态", []),
+ (.fetchVibrateSound, "获取手表声音与震动参数", []),
+ (.vibrateSound, "设置手表声音与震动参数", [.vibrateSound(Config.setVibrateSound())]),
+ (.fetchAuxiliary, "获取手表辅助功能参数", []),
+ (.auxiliary, "设置手表辅助功能参数", [.auxiliary(.bloodOxygen)]),
+ (.unit, "设置手表公英制单位", [.value(1)]),
+
+
+ (.disk, "获取SD卡剩余空间", []),
+ (.unpair, "发送解除配对消息", []),
+ (.sendUnpair, "发送取消解除配对消息", []),
+
+
+ (.startSport, "开启指定运动模式", [.motionMode(.running)]),
+ (.trainPauseResume, "训练暂停", [.action(0)]),
+ (.trainPauseResume, "训练恢复", [.action(1)]),
+ (.endSport, "结束运动模式", []),
+
+ (.heartRateMode, "开启自动获取实时心率", [.action(1)]),
+ (.heartRateMode, "关闭自动获取实时心率", [.action(0)]),
+ (.heartRateHigh, "设置最高心率提醒", [.value(240)]),
+ (.heartRateHigh, "关闭最高心率提醒", [.value(0)]),
+ (.fetchHeartRate, "获取手表心率参数", []),
+ (.heartRate, "设置手表心率参数", [.heartRate(IBHeartRate())]),
+ (.currentHeartRate, "获取实时心率", []),
+
+ (.fetchBloodOxygen, "获取手表血氧设置", []),
+ (.bloodOxygen, "设置手表血氧参数", [.bloodOxygen(IBBloodOxygen())]),
+ (.trainFrequency, "设置训练实时数据采样频率", [.value(30)]),
+
+ (.fetchTargetStep, "获取目标步数设置", []),
+ (.targetStep, "设置目标步数", [.targetStep(IBTargetStep())]),
+ (.fetchOtherTarget, "获取其他目标设置", []),
+ (.targetOther, "设置其他目标", [.otherTarget(IBOtherTarget())]),
+ (.trainTarget, "设置训练目标", [.trainTarget(IBTrainTarget())]),
+ (.fetchSleep, "获取睡眠设置", []),
+ (.sleep, "设置睡眠", [.sleep(IBSleep())]),
+ (.fetchWater, "获取手表喝水提醒设置", []),
+ (.water, "设置喝水提醒", [.water(IBWater())]),
+
+
+ (.syncHeartRate, "同步心率历史数据", [.value(0)]),
+ (.syncBloodOxygen, "同步血氧历史数据", [.value(0)]),
+ (.syncStepCount, "同步历史步数数据", [.value(0)]),
+ (.syncFatBurning, "同步燃脂时间历史数据", [.value(0)]),
+ (.syncStand, "同步站立历史数据", [.value(0)]),
+ (.syncCalorie, "同步卡路里历史数据", [.value(0)]),
+ (.syncDistance, "同步距离历史数据", [.value(0)]),
+ (.syncTrain, "同步基础训练历史数据", [.value(0)]),
+ (.syncSleep, "同步睡眠历史数据", [.value(0)]),
+ (.syncGPS, "同步路径坐标集历史数据", [.value(1654012800)]),
+ (.sendSyncEnd, "发送同步数据结束消息", []),
+ (.addressBook, "发送通讯录", [.addressBook([IBAddressBook()])]),
+
+// (.epo, "发送EPO文件", []),
+ (.ota, "发送OTA文件", []),
+ (.mp3, "发送MP3文件", []),
+// (.dial, "发送自定义表盘文件", []),
+ (.dial, "发送市场表盘文件", []),
+ (.revokeFileSend, "撤销当前文件传输", []),
+
+
+ (.deleteFile, "删除指定文件", [.deleteFile(IBDeleteFile())]),
+ (.deleteFiles, "删除指定类型所有文件", [.file(.mp3)]),
+ (.fetchFiles, "获取指定类型所有文件", [.file(.mp3)]),
+
+ (.sendWeather, "发送天气数据", [.weather(IBWeather())]),
+]
+
+class Config{
+ static func setScreen()->IBScreenConfig{
+ let model = IBScreenConfig()
+ model.type = 0
+ model.brightness = 255
+
+// model.type = 1
+// model.duration = .minute
+// model.wrist = 0
+ return model
+ }
+ static func setVibrateSound()->IBVibrateConfig{
+ let model = IBVibrateConfig()
+ model.type = 0
+ model.systemValue = 80
+
+// model.type = 1
+// model.ringsValue = 70
+//
+// model.type = 3
+// model.ringsState = 1
+// model.vibrateState = 1
+ return model
+ }
+}
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>UIBackgroundModes</key>
+ <array>
+ <string>bluetooth-central</string>
+ </array>
+</dict>
+</plist>
--- /dev/null
+//
+// LogViewController.swift
+// Example
+//
+// Created by yaozuopan on 2024/3/14.
+//
+
+import UIKit
+import IOTBluetooth
+
+class LogViewController: BaseViewController {
+
+ @IBOutlet weak var textView: UITextView!
+
+ override func viewDidLoad() {
+ title = "蓝牙日志"
+ }
+
+ override func viewDidAppear(_ animated: Bool) {
+ super.viewDidAppear(animated)
+ textView.text = IBManager.logs.joined(separator: "\n")
+ }
+}
+
--- /dev/null
+//
+// ViewController.swift
+// Example
+//
+// Created by yaozuopan on 2024/3/11.
+//
+
+import UIKit
+import IOTBluetooth
+
+class ViewController: BaseViewController {
+
+ @IBOutlet weak var listView: UITableView!
+
+ private var datas: [IBPeripheral] = []
+ override func viewDidLoad() {
+ super.viewDidLoad()
+ title = "IOTBluetooth"
+
+ IBManager.subscribe(.connectStateDidChange, observer: self) { object, userInfo in
+ print("connect notice " + "\(object!)")
+ }
+ IBManager.subscribe(.takePhoto, observer: self) { object, userInfo in
+ print("takePhoto notice " + "\(object!)")
+ }
+ IBManager.subscribe(.didFindDevice, observer: self) { object, userInfo in
+ print("find notice " )
+ }
+ IBManager.subscribe(.trainStateDidChanged, observer: self) { object, userInfo in
+ let model = object as! IBTarinState
+ print("trainState notice " + model.description)
+ }
+ IBManager.subscribe(.trainingData, observer: self) { object, userInfo in
+ let model = object as! IBTrainingData
+ print("trainingData notice " + model.description)
+ }
+ }
+
+ deinit {
+ IBManager.remove(self)
+ }
+
+ @IBAction func startScan(_ sender: UIButton) {
+ title = "正在扫描蓝牙设备..."
+ IBManager.scan { [unowned self] peripheral in
+ if let _ = datas.filter({ $0.uuid == peripheral.uuid }).last {
+ return
+ }
+ print(peripheral.name)
+ print(peripheral.macAddress)
+ print(peripheral.softwareVersion)
+ print(peripheral.rssi)
+
+ datas.append(peripheral)
+ listView.reloadData()
+ }
+ }
+
+ override func viewWillDisappear(_ animated: Bool) {
+ super.viewWillDisappear(animated)
+ IBManager.stopScan()
+ title = "IOTBluetooth"
+ }
+
+}
+
+extension ViewController: UITableViewDelegate, UITableViewDataSource {
+
+ func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
+ datas.count
+ }
+
+ func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
+ let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath)
+ let label = cell.viewWithTag(10) as! UILabel
+ label.text = datas[indexPath.row].name + "(点击连接)"
+ return cell
+ }
+
+ func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
+ activityIndicatorView.startAnimating()
+ let device = datas[indexPath.row]
+ IBManager.connect(device) { [unowned self] isSuccess in
+ activityIndicatorView.stopAnimating()
+ if isSuccess{
+ let vc = storyboard!.instantiateViewController(identifier: "AbilityViewController")
+ navigationController?.pushViewController(vc, animated: true)
+ }
+ else{
+ print("连接失败")
+ }
+ }
+ print(indexPath)
+ }
+}
--- /dev/null
+#if 0
+#elif defined(__arm64__) && __arm64__
+// Generated by Apple Swift version 5.9.2 effective-4.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5)
+#ifndef IOTBLUETOOTH_SWIFT_H
+#define IOTBLUETOOTH_SWIFT_H
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wgcc-compat"
+
+#if !defined(__has_include)
+# define __has_include(x) 0
+#endif
+#if !defined(__has_attribute)
+# define __has_attribute(x) 0
+#endif
+#if !defined(__has_feature)
+# define __has_feature(x) 0
+#endif
+#if !defined(__has_warning)
+# define __has_warning(x) 0
+#endif
+
+#if __has_include(<swift/objc-prologue.h>)
+# include <swift/objc-prologue.h>
+#endif
+
+#pragma clang diagnostic ignored "-Wauto-import"
+#if defined(__OBJC__)
+#include <Foundation/Foundation.h>
+#endif
+#if defined(__cplusplus)
+#include <cstdint>
+#include <cstddef>
+#include <cstdbool>
+#include <cstring>
+#include <stdlib.h>
+#include <new>
+#include <type_traits>
+#else
+#include <stdint.h>
+#include <stddef.h>
+#include <stdbool.h>
+#include <string.h>
+#endif
+#if defined(__cplusplus)
+#if defined(__arm64e__) && __has_include(<ptrauth.h>)
+# include <ptrauth.h>
+#else
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wreserved-macro-identifier"
+# ifndef __ptrauth_swift_value_witness_function_pointer
+# define __ptrauth_swift_value_witness_function_pointer(x)
+# endif
+# ifndef __ptrauth_swift_class_method_pointer
+# define __ptrauth_swift_class_method_pointer(x)
+# endif
+#pragma clang diagnostic pop
+#endif
+#endif
+
+#if !defined(SWIFT_TYPEDEFS)
+# define SWIFT_TYPEDEFS 1
+# if __has_include(<uchar.h>)
+# include <uchar.h>
+# elif !defined(__cplusplus)
+typedef uint_least16_t char16_t;
+typedef uint_least32_t char32_t;
+# endif
+typedef float swift_float2 __attribute__((__ext_vector_type__(2)));
+typedef float swift_float3 __attribute__((__ext_vector_type__(3)));
+typedef float swift_float4 __attribute__((__ext_vector_type__(4)));
+typedef double swift_double2 __attribute__((__ext_vector_type__(2)));
+typedef double swift_double3 __attribute__((__ext_vector_type__(3)));
+typedef double swift_double4 __attribute__((__ext_vector_type__(4)));
+typedef int swift_int2 __attribute__((__ext_vector_type__(2)));
+typedef int swift_int3 __attribute__((__ext_vector_type__(3)));
+typedef int swift_int4 __attribute__((__ext_vector_type__(4)));
+typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2)));
+typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3)));
+typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
+#endif
+
+#if !defined(SWIFT_PASTE)
+# define SWIFT_PASTE_HELPER(x, y) x##y
+# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)
+#endif
+#if !defined(SWIFT_METATYPE)
+# define SWIFT_METATYPE(X) Class
+#endif
+#if !defined(SWIFT_CLASS_PROPERTY)
+# if __has_feature(objc_class_property)
+# define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__
+# else
+# define SWIFT_CLASS_PROPERTY(...)
+# endif
+#endif
+#if !defined(SWIFT_RUNTIME_NAME)
+# if __has_attribute(objc_runtime_name)
+# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
+# else
+# define SWIFT_RUNTIME_NAME(X)
+# endif
+#endif
+#if !defined(SWIFT_COMPILE_NAME)
+# if __has_attribute(swift_name)
+# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X)))
+# else
+# define SWIFT_COMPILE_NAME(X)
+# endif
+#endif
+#if !defined(SWIFT_METHOD_FAMILY)
+# if __has_attribute(objc_method_family)
+# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X)))
+# else
+# define SWIFT_METHOD_FAMILY(X)
+# endif
+#endif
+#if !defined(SWIFT_NOESCAPE)
+# if __has_attribute(noescape)
+# define SWIFT_NOESCAPE __attribute__((noescape))
+# else
+# define SWIFT_NOESCAPE
+# endif
+#endif
+#if !defined(SWIFT_RELEASES_ARGUMENT)
+# if __has_attribute(ns_consumed)
+# define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed))
+# else
+# define SWIFT_RELEASES_ARGUMENT
+# endif
+#endif
+#if !defined(SWIFT_WARN_UNUSED_RESULT)
+# if __has_attribute(warn_unused_result)
+# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
+# else
+# define SWIFT_WARN_UNUSED_RESULT
+# endif
+#endif
+#if !defined(SWIFT_NORETURN)
+# if __has_attribute(noreturn)
+# define SWIFT_NORETURN __attribute__((noreturn))
+# else
+# define SWIFT_NORETURN
+# endif
+#endif
+#if !defined(SWIFT_CLASS_EXTRA)
+# define SWIFT_CLASS_EXTRA
+#endif
+#if !defined(SWIFT_PROTOCOL_EXTRA)
+# define SWIFT_PROTOCOL_EXTRA
+#endif
+#if !defined(SWIFT_ENUM_EXTRA)
+# define SWIFT_ENUM_EXTRA
+#endif
+#if !defined(SWIFT_CLASS)
+# if __has_attribute(objc_subclassing_restricted)
+# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA
+# define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+# else
+# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+# define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+# endif
+#endif
+#if !defined(SWIFT_RESILIENT_CLASS)
+# if __has_attribute(objc_class_stub)
+# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub))
+# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME)
+# else
+# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME)
+# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME)
+# endif
+#endif
+#if !defined(SWIFT_PROTOCOL)
+# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
+# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
+#endif
+#if !defined(SWIFT_EXTENSION)
+# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__)
+#endif
+#if !defined(OBJC_DESIGNATED_INITIALIZER)
+# if __has_attribute(objc_designated_initializer)
+# define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
+# else
+# define OBJC_DESIGNATED_INITIALIZER
+# endif
+#endif
+#if !defined(SWIFT_ENUM_ATTR)
+# if __has_attribute(enum_extensibility)
+# define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility)))
+# else
+# define SWIFT_ENUM_ATTR(_extensibility)
+# endif
+#endif
+#if !defined(SWIFT_ENUM)
+# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
+# if __has_feature(generalized_swift_name)
+# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
+# else
+# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
+# endif
+#endif
+#if !defined(SWIFT_UNAVAILABLE)
+# define SWIFT_UNAVAILABLE __attribute__((unavailable))
+#endif
+#if !defined(SWIFT_UNAVAILABLE_MSG)
+# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg)))
+#endif
+#if !defined(SWIFT_AVAILABILITY)
+# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
+#endif
+#if !defined(SWIFT_WEAK_IMPORT)
+# define SWIFT_WEAK_IMPORT __attribute__((weak_import))
+#endif
+#if !defined(SWIFT_DEPRECATED)
+# define SWIFT_DEPRECATED __attribute__((deprecated))
+#endif
+#if !defined(SWIFT_DEPRECATED_MSG)
+# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__)))
+#endif
+#if !defined(SWIFT_DEPRECATED_OBJC)
+# if __has_feature(attribute_diagnose_if_objc)
+# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning")))
+# else
+# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg)
+# endif
+#endif
+#if defined(__OBJC__)
+#if !defined(IBSegueAction)
+# define IBSegueAction
+#endif
+#endif
+#if !defined(SWIFT_EXTERN)
+# if defined(__cplusplus)
+# define SWIFT_EXTERN extern "C"
+# else
+# define SWIFT_EXTERN extern
+# endif
+#endif
+#if !defined(SWIFT_CALL)
+# define SWIFT_CALL __attribute__((swiftcall))
+#endif
+#if !defined(SWIFT_INDIRECT_RESULT)
+# define SWIFT_INDIRECT_RESULT __attribute__((swift_indirect_result))
+#endif
+#if !defined(SWIFT_CONTEXT)
+# define SWIFT_CONTEXT __attribute__((swift_context))
+#endif
+#if !defined(SWIFT_ERROR_RESULT)
+# define SWIFT_ERROR_RESULT __attribute__((swift_error_result))
+#endif
+#if defined(__cplusplus)
+# define SWIFT_NOEXCEPT noexcept
+#else
+# define SWIFT_NOEXCEPT
+#endif
+#if !defined(SWIFT_C_INLINE_THUNK)
+# if __has_attribute(always_inline)
+# if __has_attribute(nodebug)
+# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline)) __attribute__((nodebug))
+# else
+# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline))
+# endif
+# else
+# define SWIFT_C_INLINE_THUNK inline
+# endif
+#endif
+#if defined(_WIN32)
+#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL)
+# define SWIFT_IMPORT_STDLIB_SYMBOL __declspec(dllimport)
+#endif
+#else
+#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL)
+# define SWIFT_IMPORT_STDLIB_SYMBOL
+#endif
+#endif
+#if defined(__OBJC__)
+#if __has_feature(objc_modules)
+#if __has_warning("-Watimport-in-framework-header")
+#pragma clang diagnostic ignored "-Watimport-in-framework-header"
+#endif
+#endif
+
+#endif
+#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
+#pragma clang diagnostic ignored "-Wduplicate-method-arg"
+#if __has_warning("-Wpragma-clang-attribute")
+# pragma clang diagnostic ignored "-Wpragma-clang-attribute"
+#endif
+#pragma clang diagnostic ignored "-Wunknown-pragmas"
+#pragma clang diagnostic ignored "-Wnullability"
+#pragma clang diagnostic ignored "-Wdollar-in-identifier-extension"
+
+#if __has_attribute(external_source_symbol)
+# pragma push_macro("any")
+# undef any
+# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="IOTBluetooth",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
+# pragma pop_macro("any")
+#endif
+
+#if defined(__OBJC__)
+#endif
+#if __has_attribute(external_source_symbol)
+# pragma clang attribute pop
+#endif
+#if defined(__cplusplus)
+#endif
+#pragma clang diagnostic pop
+#endif
+
+#else
+#error unsupported Swift architecture
+#endif
--- /dev/null
+//
+// IOTBluetooth.h
+// IOTBluetooth
+//
+// Created by yaozuopan on 2024/3/6.
+//
+
+#import <Foundation/Foundation.h>
+
+//! Project version number for IOTBluetooth.
+FOUNDATION_EXPORT double IOTBluetoothVersionNumber;
+
+//! Project version string for IOTBluetooth.
+FOUNDATION_EXPORT const unsigned char IOTBluetoothVersionString[];
+
+// In this header, you should import all the public headers of your framework using statements like #import <IOTBluetooth/PublicHeader.h>
+
+
--- /dev/null
+{
+ "ABIRoot": {
+ "kind": "Root",
+ "name": "TopLevel",
+ "printedName": "TopLevel",
+ "children": [
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBResponseModel",
+ "printedName": "IBResponseModel",
+ "declKind": "Class",
+ "usr": "s:12IOTBluetooth15IBResponseModelC",
+ "mangledName": "$s12IOTBluetooth15IBResponseModelC",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "hasMissingDesignatedInitializers": true
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBResponse",
+ "printedName": "IBResponse",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "code",
+ "printedName": "code",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBCode",
+ "printedName": "IOTBluetooth.IBCode",
+ "usr": "s:12IOTBluetooth6IBCodeO"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth10IBResponseC4codeAA6IBCodeOvp",
+ "mangledName": "$s12IOTBluetooth10IBResponseC4codeAA6IBCodeOvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "SetterAccess",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBCode",
+ "printedName": "IOTBluetooth.IBCode",
+ "usr": "s:12IOTBluetooth6IBCodeO"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBResponseC4codeAA6IBCodeOvg",
+ "mangledName": "$s12IOTBluetooth10IBResponseC4codeAA6IBCodeOvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "message",
+ "printedName": "message",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth10IBResponseC7messageSSvp",
+ "mangledName": "$s12IOTBluetooth10IBResponseC7messageSSvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "SetterAccess",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBResponseC7messageSSvg",
+ "mangledName": "$s12IOTBluetooth10IBResponseC7messageSSvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "isSuccess",
+ "printedName": "isSuccess",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Bool",
+ "printedName": "Swift.Bool",
+ "usr": "s:Sb"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth10IBResponseC9isSuccessSbvp",
+ "mangledName": "$s12IOTBluetooth10IBResponseC9isSuccessSbvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "SetterAccess",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Bool",
+ "printedName": "Swift.Bool",
+ "usr": "s:Sb"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBResponseC9isSuccessSbvg",
+ "mangledName": "$s12IOTBluetooth10IBResponseC9isSuccessSbvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "items",
+ "printedName": "items",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[Any]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "ProtocolComposition",
+ "printedName": "Any"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth10IBResponseC5itemsSayypGvp",
+ "mangledName": "$s12IOTBluetooth10IBResponseC5itemsSayypGvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "SetterAccess",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[Any]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "ProtocolComposition",
+ "printedName": "Any"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBResponseC5itemsSayypGvg",
+ "mangledName": "$s12IOTBluetooth10IBResponseC5itemsSayypGvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "value",
+ "printedName": "value",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Any?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "ProtocolComposition",
+ "printedName": "Any"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth10IBResponseC5valueypSgvp",
+ "mangledName": "$s12IOTBluetooth10IBResponseC5valueypSgvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "SetterAccess",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Any?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "ProtocolComposition",
+ "printedName": "Any"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBResponseC5valueypSgvg",
+ "mangledName": "$s12IOTBluetooth10IBResponseC5valueypSgvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "description",
+ "printedName": "description",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth10IBResponseC11descriptionSSvp",
+ "mangledName": "$s12IOTBluetooth10IBResponseC11descriptionSSvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBResponseC11descriptionSSvg",
+ "mangledName": "$s12IOTBluetooth10IBResponseC11descriptionSSvg",
+ "moduleName": "IOTBluetooth",
+ "accessorKind": "get"
+ }
+ ]
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:12IOTBluetooth10IBResponseC",
+ "mangledName": "$s12IOTBluetooth10IBResponseC",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "hasMissingDesignatedInitializers": true,
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "CustomStringConvertible",
+ "printedName": "CustomStringConvertible",
+ "usr": "s:s23CustomStringConvertibleP",
+ "mangledName": "$ss23CustomStringConvertibleP"
+ }
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBHistoryStandItem",
+ "printedName": "IBHistoryStandItem",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "time",
+ "printedName": "time",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth18IBHistoryStandItemC4timeSivp",
+ "mangledName": "$s12IOTBluetooth18IBHistoryStandItemC4timeSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth18IBHistoryStandItemC4timeSivg",
+ "mangledName": "$s12IOTBluetooth18IBHistoryStandItemC4timeSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth18IBHistoryStandItemC4timeSivs",
+ "mangledName": "$s12IOTBluetooth18IBHistoryStandItemC4timeSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth18IBHistoryStandItemC4timeSivM",
+ "mangledName": "$s12IOTBluetooth18IBHistoryStandItemC4timeSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBHistoryStandItem",
+ "printedName": "IOTBluetooth.IBHistoryStandItem",
+ "usr": "s:12IOTBluetooth18IBHistoryStandItemC"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth18IBHistoryStandItemCACycfc",
+ "mangledName": "$s12IOTBluetooth18IBHistoryStandItemCACycfc",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "init_kind": "Designated"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:12IOTBluetooth18IBHistoryStandItemC",
+ "mangledName": "$s12IOTBluetooth18IBHistoryStandItemC",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBVibrateConfig",
+ "printedName": "IBVibrateConfig",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "type",
+ "printedName": "type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth15IBVibrateConfigC4typeSivp",
+ "mangledName": "$s12IOTBluetooth15IBVibrateConfigC4typeSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth15IBVibrateConfigC4typeSivg",
+ "mangledName": "$s12IOTBluetooth15IBVibrateConfigC4typeSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth15IBVibrateConfigC4typeSivs",
+ "mangledName": "$s12IOTBluetooth15IBVibrateConfigC4typeSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth15IBVibrateConfigC4typeSivM",
+ "mangledName": "$s12IOTBluetooth15IBVibrateConfigC4typeSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "systemValue",
+ "printedName": "systemValue",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth15IBVibrateConfigC11systemValueSiSgvp",
+ "mangledName": "$s12IOTBluetooth15IBVibrateConfigC11systemValueSiSgvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth15IBVibrateConfigC11systemValueSiSgvg",
+ "mangledName": "$s12IOTBluetooth15IBVibrateConfigC11systemValueSiSgvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth15IBVibrateConfigC11systemValueSiSgvs",
+ "mangledName": "$s12IOTBluetooth15IBVibrateConfigC11systemValueSiSgvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth15IBVibrateConfigC11systemValueSiSgvM",
+ "mangledName": "$s12IOTBluetooth15IBVibrateConfigC11systemValueSiSgvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "ringsValue",
+ "printedName": "ringsValue",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth15IBVibrateConfigC10ringsValueSiSgvp",
+ "mangledName": "$s12IOTBluetooth15IBVibrateConfigC10ringsValueSiSgvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth15IBVibrateConfigC10ringsValueSiSgvg",
+ "mangledName": "$s12IOTBluetooth15IBVibrateConfigC10ringsValueSiSgvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth15IBVibrateConfigC10ringsValueSiSgvs",
+ "mangledName": "$s12IOTBluetooth15IBVibrateConfigC10ringsValueSiSgvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth15IBVibrateConfigC10ringsValueSiSgvM",
+ "mangledName": "$s12IOTBluetooth15IBVibrateConfigC10ringsValueSiSgvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "ringsState",
+ "printedName": "ringsState",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth15IBVibrateConfigC10ringsStateSiSgvp",
+ "mangledName": "$s12IOTBluetooth15IBVibrateConfigC10ringsStateSiSgvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth15IBVibrateConfigC10ringsStateSiSgvg",
+ "mangledName": "$s12IOTBluetooth15IBVibrateConfigC10ringsStateSiSgvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth15IBVibrateConfigC10ringsStateSiSgvs",
+ "mangledName": "$s12IOTBluetooth15IBVibrateConfigC10ringsStateSiSgvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth15IBVibrateConfigC10ringsStateSiSgvM",
+ "mangledName": "$s12IOTBluetooth15IBVibrateConfigC10ringsStateSiSgvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "vibrateState",
+ "printedName": "vibrateState",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth15IBVibrateConfigC12vibrateStateSiSgvp",
+ "mangledName": "$s12IOTBluetooth15IBVibrateConfigC12vibrateStateSiSgvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth15IBVibrateConfigC12vibrateStateSiSgvg",
+ "mangledName": "$s12IOTBluetooth15IBVibrateConfigC12vibrateStateSiSgvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth15IBVibrateConfigC12vibrateStateSiSgvs",
+ "mangledName": "$s12IOTBluetooth15IBVibrateConfigC12vibrateStateSiSgvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth15IBVibrateConfigC12vibrateStateSiSgvM",
+ "mangledName": "$s12IOTBluetooth15IBVibrateConfigC12vibrateStateSiSgvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBVibrateConfig",
+ "printedName": "IOTBluetooth.IBVibrateConfig",
+ "usr": "s:12IOTBluetooth15IBVibrateConfigC"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth15IBVibrateConfigCACycfc",
+ "mangledName": "$s12IOTBluetooth15IBVibrateConfigCACycfc",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "init_kind": "Designated"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:12IOTBluetooth15IBVibrateConfigC",
+ "mangledName": "$s12IOTBluetooth15IBVibrateConfigC",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBVibrateSound",
+ "printedName": "IBVibrateSound",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "systemValue",
+ "printedName": "systemValue",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth14IBVibrateSoundC11systemValueSivp",
+ "mangledName": "$s12IOTBluetooth14IBVibrateSoundC11systemValueSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth14IBVibrateSoundC11systemValueSivg",
+ "mangledName": "$s12IOTBluetooth14IBVibrateSoundC11systemValueSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth14IBVibrateSoundC11systemValueSivs",
+ "mangledName": "$s12IOTBluetooth14IBVibrateSoundC11systemValueSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth14IBVibrateSoundC11systemValueSivM",
+ "mangledName": "$s12IOTBluetooth14IBVibrateSoundC11systemValueSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "ringsValue",
+ "printedName": "ringsValue",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth14IBVibrateSoundC10ringsValueSivp",
+ "mangledName": "$s12IOTBluetooth14IBVibrateSoundC10ringsValueSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth14IBVibrateSoundC10ringsValueSivg",
+ "mangledName": "$s12IOTBluetooth14IBVibrateSoundC10ringsValueSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth14IBVibrateSoundC10ringsValueSivs",
+ "mangledName": "$s12IOTBluetooth14IBVibrateSoundC10ringsValueSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth14IBVibrateSoundC10ringsValueSivM",
+ "mangledName": "$s12IOTBluetooth14IBVibrateSoundC10ringsValueSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "mediaValue",
+ "printedName": "mediaValue",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth14IBVibrateSoundC10mediaValueSivp",
+ "mangledName": "$s12IOTBluetooth14IBVibrateSoundC10mediaValueSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth14IBVibrateSoundC10mediaValueSivg",
+ "mangledName": "$s12IOTBluetooth14IBVibrateSoundC10mediaValueSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth14IBVibrateSoundC10mediaValueSivs",
+ "mangledName": "$s12IOTBluetooth14IBVibrateSoundC10mediaValueSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth14IBVibrateSoundC10mediaValueSivM",
+ "mangledName": "$s12IOTBluetooth14IBVibrateSoundC10mediaValueSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "ringsState",
+ "printedName": "ringsState",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth14IBVibrateSoundC10ringsStateSivp",
+ "mangledName": "$s12IOTBluetooth14IBVibrateSoundC10ringsStateSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth14IBVibrateSoundC10ringsStateSivg",
+ "mangledName": "$s12IOTBluetooth14IBVibrateSoundC10ringsStateSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth14IBVibrateSoundC10ringsStateSivs",
+ "mangledName": "$s12IOTBluetooth14IBVibrateSoundC10ringsStateSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth14IBVibrateSoundC10ringsStateSivM",
+ "mangledName": "$s12IOTBluetooth14IBVibrateSoundC10ringsStateSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "vibrateState",
+ "printedName": "vibrateState",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth14IBVibrateSoundC12vibrateStateSivp",
+ "mangledName": "$s12IOTBluetooth14IBVibrateSoundC12vibrateStateSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth14IBVibrateSoundC12vibrateStateSivg",
+ "mangledName": "$s12IOTBluetooth14IBVibrateSoundC12vibrateStateSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth14IBVibrateSoundC12vibrateStateSivs",
+ "mangledName": "$s12IOTBluetooth14IBVibrateSoundC12vibrateStateSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth14IBVibrateSoundC12vibrateStateSivM",
+ "mangledName": "$s12IOTBluetooth14IBVibrateSoundC12vibrateStateSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBVibrateSound",
+ "printedName": "IOTBluetooth.IBVibrateSound",
+ "usr": "s:12IOTBluetooth14IBVibrateSoundC"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth14IBVibrateSoundCACycfc",
+ "mangledName": "$s12IOTBluetooth14IBVibrateSoundCACycfc",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "init_kind": "Designated"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:12IOTBluetooth14IBVibrateSoundC",
+ "mangledName": "$s12IOTBluetooth14IBVibrateSoundC",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasMissingDesignatedInitializers": true
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBAddressBook",
+ "printedName": "IBAddressBook",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "gender",
+ "printedName": "gender",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth13IBAddressBookC6genderSivp",
+ "mangledName": "$s12IOTBluetooth13IBAddressBookC6genderSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBAddressBookC6genderSivg",
+ "mangledName": "$s12IOTBluetooth13IBAddressBookC6genderSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBAddressBookC6genderSivs",
+ "mangledName": "$s12IOTBluetooth13IBAddressBookC6genderSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBAddressBookC6genderSivM",
+ "mangledName": "$s12IOTBluetooth13IBAddressBookC6genderSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "name",
+ "printedName": "name",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth13IBAddressBookC4nameSSSgvp",
+ "mangledName": "$s12IOTBluetooth13IBAddressBookC4nameSSSgvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBAddressBookC4nameSSSgvg",
+ "mangledName": "$s12IOTBluetooth13IBAddressBookC4nameSSSgvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBAddressBookC4nameSSSgvs",
+ "mangledName": "$s12IOTBluetooth13IBAddressBookC4nameSSSgvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBAddressBookC4nameSSSgvM",
+ "mangledName": "$s12IOTBluetooth13IBAddressBookC4nameSSSgvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "phoneNumbers",
+ "printedName": "phoneNumbers",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[IOTBluetooth.IBPhoneNumber]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBPhoneNumber",
+ "printedName": "IOTBluetooth.IBPhoneNumber",
+ "usr": "s:12IOTBluetooth13IBPhoneNumberC"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth13IBAddressBookC12phoneNumbersSayAA13IBPhoneNumberCGvp",
+ "mangledName": "$s12IOTBluetooth13IBAddressBookC12phoneNumbersSayAA13IBPhoneNumberCGvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[IOTBluetooth.IBPhoneNumber]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBPhoneNumber",
+ "printedName": "IOTBluetooth.IBPhoneNumber",
+ "usr": "s:12IOTBluetooth13IBPhoneNumberC"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBAddressBookC12phoneNumbersSayAA13IBPhoneNumberCGvg",
+ "mangledName": "$s12IOTBluetooth13IBAddressBookC12phoneNumbersSayAA13IBPhoneNumberCGvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[IOTBluetooth.IBPhoneNumber]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBPhoneNumber",
+ "printedName": "IOTBluetooth.IBPhoneNumber",
+ "usr": "s:12IOTBluetooth13IBPhoneNumberC"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBAddressBookC12phoneNumbersSayAA13IBPhoneNumberCGvs",
+ "mangledName": "$s12IOTBluetooth13IBAddressBookC12phoneNumbersSayAA13IBPhoneNumberCGvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBAddressBookC12phoneNumbersSayAA13IBPhoneNumberCGvM",
+ "mangledName": "$s12IOTBluetooth13IBAddressBookC12phoneNumbersSayAA13IBPhoneNumberCGvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAddressBook",
+ "printedName": "IOTBluetooth.IBAddressBook",
+ "usr": "s:12IOTBluetooth13IBAddressBookC"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth13IBAddressBookCACycfc",
+ "mangledName": "$s12IOTBluetooth13IBAddressBookCACycfc",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Var",
+ "name": "description",
+ "printedName": "description",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth13IBAddressBookC11descriptionSSvp",
+ "mangledName": "$s12IOTBluetooth13IBAddressBookC11descriptionSSvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBAddressBookC11descriptionSSvg",
+ "mangledName": "$s12IOTBluetooth13IBAddressBookC11descriptionSSvg",
+ "moduleName": "IOTBluetooth",
+ "accessorKind": "get"
+ }
+ ]
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:12IOTBluetooth13IBAddressBookC",
+ "mangledName": "$s12IOTBluetooth13IBAddressBookC",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBPhoneNumber",
+ "printedName": "IBPhoneNumber",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "number",
+ "printedName": "number",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth13IBPhoneNumberC6numberSSvp",
+ "mangledName": "$s12IOTBluetooth13IBPhoneNumberC6numberSSvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBPhoneNumberC6numberSSvg",
+ "mangledName": "$s12IOTBluetooth13IBPhoneNumberC6numberSSvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBPhoneNumberC6numberSSvs",
+ "mangledName": "$s12IOTBluetooth13IBPhoneNumberC6numberSSvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBPhoneNumberC6numberSSvM",
+ "mangledName": "$s12IOTBluetooth13IBPhoneNumberC6numberSSvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "location",
+ "printedName": "location",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth13IBPhoneNumberC8locationSSSgvp",
+ "mangledName": "$s12IOTBluetooth13IBPhoneNumberC8locationSSSgvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBPhoneNumberC8locationSSSgvg",
+ "mangledName": "$s12IOTBluetooth13IBPhoneNumberC8locationSSSgvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBPhoneNumberC8locationSSSgvs",
+ "mangledName": "$s12IOTBluetooth13IBPhoneNumberC8locationSSSgvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBPhoneNumberC8locationSSSgvM",
+ "mangledName": "$s12IOTBluetooth13IBPhoneNumberC8locationSSSgvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "operator",
+ "printedName": "operator",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth13IBPhoneNumberC8operatorSSSgvp",
+ "mangledName": "$s12IOTBluetooth13IBPhoneNumberC8operatorSSSgvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBPhoneNumberC8operatorSSSgvg",
+ "mangledName": "$s12IOTBluetooth13IBPhoneNumberC8operatorSSSgvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBPhoneNumberC8operatorSSSgvs",
+ "mangledName": "$s12IOTBluetooth13IBPhoneNumberC8operatorSSSgvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBPhoneNumberC8operatorSSSgvM",
+ "mangledName": "$s12IOTBluetooth13IBPhoneNumberC8operatorSSSgvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBPhoneNumber",
+ "printedName": "IOTBluetooth.IBPhoneNumber",
+ "usr": "s:12IOTBluetooth13IBPhoneNumberC"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth13IBPhoneNumberCACycfc",
+ "mangledName": "$s12IOTBluetooth13IBPhoneNumberCACycfc",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Var",
+ "name": "description",
+ "printedName": "description",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth13IBPhoneNumberC11descriptionSSvp",
+ "mangledName": "$s12IOTBluetooth13IBPhoneNumberC11descriptionSSvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBPhoneNumberC11descriptionSSvg",
+ "mangledName": "$s12IOTBluetooth13IBPhoneNumberC11descriptionSSvg",
+ "moduleName": "IOTBluetooth",
+ "accessorKind": "get"
+ }
+ ]
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:12IOTBluetooth13IBPhoneNumberC",
+ "mangledName": "$s12IOTBluetooth13IBPhoneNumberC",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBParameter",
+ "printedName": "IBParameter",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "dialID",
+ "printedName": "dialID",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBParameter.Type) -> (Swift.Int) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(Swift.Int) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ]
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBParameter.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth11IBParameterO6dialIDyACSicACmF",
+ "mangledName": "$s12IOTBluetooth11IBParameterO6dialIDyACSicACmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "action",
+ "printedName": "action",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBParameter.Type) -> (Swift.Int) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(Swift.Int) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ]
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBParameter.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth11IBParameterO6actionyACSicACmF",
+ "mangledName": "$s12IOTBluetooth11IBParameterO6actionyACSicACmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "motionMode",
+ "printedName": "motionMode",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBParameter.Type) -> (IOTBluetooth.IBMotionMode) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBMotionMode) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "IBMotionMode",
+ "printedName": "IOTBluetooth.IBMotionMode",
+ "usr": "s:12IOTBluetooth12IBMotionModeO"
+ }
+ ]
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBParameter.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth11IBParameterO10motionModeyAcA08IBMotionD0OcACmF",
+ "mangledName": "$s12IOTBluetooth11IBParameterO10motionModeyAcA08IBMotionD0OcACmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "language",
+ "printedName": "language",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBParameter.Type) -> (IOTBluetooth.IBLanguage) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBLanguage) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "IBLanguage",
+ "printedName": "IOTBluetooth.IBLanguage",
+ "usr": "s:12IOTBluetooth10IBLanguageO"
+ }
+ ]
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBParameter.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth11IBParameterO8languageyAcA10IBLanguageOcACmF",
+ "mangledName": "$s12IOTBluetooth11IBParameterO8languageyAcA10IBLanguageOcACmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "value",
+ "printedName": "value",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBParameter.Type) -> (Swift.Int) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(Swift.Int) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ]
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBParameter.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth11IBParameterO5valueyACSicACmF",
+ "mangledName": "$s12IOTBluetooth11IBParameterO5valueyACSicACmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "file",
+ "printedName": "file",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBParameter.Type) -> (IOTBluetooth.IBFile) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBFile) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "IBFile",
+ "printedName": "IOTBluetooth.IBFile",
+ "usr": "s:12IOTBluetooth6IBFileO"
+ }
+ ]
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBParameter.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth11IBParameterO4fileyAcA6IBFileOcACmF",
+ "mangledName": "$s12IOTBluetooth11IBParameterO4fileyAcA6IBFileOcACmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "targetStep",
+ "printedName": "targetStep",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBParameter.Type) -> (IOTBluetooth.IBTargetStep) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBTargetStep) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "IBTargetStep",
+ "printedName": "IOTBluetooth.IBTargetStep",
+ "usr": "s:12IOTBluetooth12IBTargetStepC"
+ }
+ ]
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBParameter.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth11IBParameterO10targetStepyAcA08IBTargetD0CcACmF",
+ "mangledName": "$s12IOTBluetooth11IBParameterO10targetStepyAcA08IBTargetD0CcACmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "sleep",
+ "printedName": "sleep",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBParameter.Type) -> (IOTBluetooth.IBSleep) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBSleep) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "IBSleep",
+ "printedName": "IOTBluetooth.IBSleep",
+ "usr": "s:12IOTBluetooth7IBSleepC"
+ }
+ ]
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBParameter.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth11IBParameterO5sleepyAcA7IBSleepCcACmF",
+ "mangledName": "$s12IOTBluetooth11IBParameterO5sleepyAcA7IBSleepCcACmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "water",
+ "printedName": "water",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBParameter.Type) -> (IOTBluetooth.IBWater) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBWater) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "IBWater",
+ "printedName": "IOTBluetooth.IBWater",
+ "usr": "s:12IOTBluetooth7IBWaterC"
+ }
+ ]
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBParameter.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth11IBParameterO5wateryAcA7IBWaterCcACmF",
+ "mangledName": "$s12IOTBluetooth11IBParameterO5wateryAcA7IBWaterCcACmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "clock",
+ "printedName": "clock",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBParameter.Type) -> (IOTBluetooth.IBClock) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBClock) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "IBClock",
+ "printedName": "IOTBluetooth.IBClock",
+ "usr": "s:12IOTBluetooth7IBClockC"
+ }
+ ]
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBParameter.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth11IBParameterO5clockyAcA7IBClockCcACmF",
+ "mangledName": "$s12IOTBluetooth11IBParameterO5clockyAcA7IBClockCcACmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "heartRate",
+ "printedName": "heartRate",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBParameter.Type) -> (IOTBluetooth.IBHeartRate) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBHeartRate) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "IBHeartRate",
+ "printedName": "IOTBluetooth.IBHeartRate",
+ "usr": "s:12IOTBluetooth11IBHeartRateC"
+ }
+ ]
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBParameter.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth11IBParameterO9heartRateyAcA07IBHeartD0CcACmF",
+ "mangledName": "$s12IOTBluetooth11IBParameterO9heartRateyAcA07IBHeartD0CcACmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "bloodOxygen",
+ "printedName": "bloodOxygen",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBParameter.Type) -> (IOTBluetooth.IBBloodOxygen) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBBloodOxygen) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "IBBloodOxygen",
+ "printedName": "IOTBluetooth.IBBloodOxygen",
+ "usr": "s:12IOTBluetooth13IBBloodOxygenC"
+ }
+ ]
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBParameter.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth11IBParameterO11bloodOxygenyAcA07IBBloodD0CcACmF",
+ "mangledName": "$s12IOTBluetooth11IBParameterO11bloodOxygenyAcA07IBBloodD0CcACmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "screen",
+ "printedName": "screen",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBParameter.Type) -> (IOTBluetooth.IBScreenConfig) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBScreenConfig) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "IBScreenConfig",
+ "printedName": "IOTBluetooth.IBScreenConfig",
+ "usr": "s:12IOTBluetooth14IBScreenConfigC"
+ }
+ ]
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBParameter.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth11IBParameterO6screenyAcA14IBScreenConfigCcACmF",
+ "mangledName": "$s12IOTBluetooth11IBParameterO6screenyAcA14IBScreenConfigCcACmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "vibrateSound",
+ "printedName": "vibrateSound",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBParameter.Type) -> (IOTBluetooth.IBVibrateConfig) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBVibrateConfig) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "IBVibrateConfig",
+ "printedName": "IOTBluetooth.IBVibrateConfig",
+ "usr": "s:12IOTBluetooth15IBVibrateConfigC"
+ }
+ ]
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBParameter.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth11IBParameterO12vibrateSoundyAcA15IBVibrateConfigCcACmF",
+ "mangledName": "$s12IOTBluetooth11IBParameterO12vibrateSoundyAcA15IBVibrateConfigCcACmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "otherTarget",
+ "printedName": "otherTarget",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBParameter.Type) -> (IOTBluetooth.IBOtherTarget) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBOtherTarget) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "IBOtherTarget",
+ "printedName": "IOTBluetooth.IBOtherTarget",
+ "usr": "s:12IOTBluetooth13IBOtherTargetC"
+ }
+ ]
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBParameter.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth11IBParameterO11otherTargetyAcA07IBOtherD0CcACmF",
+ "mangledName": "$s12IOTBluetooth11IBParameterO11otherTargetyAcA07IBOtherD0CcACmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "trainTarget",
+ "printedName": "trainTarget",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBParameter.Type) -> (IOTBluetooth.IBTrainTarget) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBTrainTarget) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "IBTrainTarget",
+ "printedName": "IOTBluetooth.IBTrainTarget",
+ "usr": "s:12IOTBluetooth13IBTrainTargetC"
+ }
+ ]
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBParameter.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth11IBParameterO11trainTargetyAcA07IBTrainD0CcACmF",
+ "mangledName": "$s12IOTBluetooth11IBParameterO11trainTargetyAcA07IBTrainD0CcACmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "sendPhone",
+ "printedName": "sendPhone",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBParameter.Type) -> (IOTBluetooth.IBPhoneInfo) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBPhoneInfo) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "IBPhoneInfo",
+ "printedName": "IOTBluetooth.IBPhoneInfo",
+ "usr": "s:12IOTBluetooth11IBPhoneInfoC"
+ }
+ ]
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBParameter.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth11IBParameterO9sendPhoneyAcA11IBPhoneInfoCcACmF",
+ "mangledName": "$s12IOTBluetooth11IBParameterO9sendPhoneyAcA11IBPhoneInfoCcACmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "sendTime",
+ "printedName": "sendTime",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBParameter.Type) -> (IOTBluetooth.IBSendTime) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBSendTime) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "IBSendTime",
+ "printedName": "IOTBluetooth.IBSendTime",
+ "usr": "s:12IOTBluetooth10IBSendTimeC"
+ }
+ ]
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBParameter.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth11IBParameterO8sendTimeyAcA06IBSendD0CcACmF",
+ "mangledName": "$s12IOTBluetooth11IBParameterO8sendTimeyAcA06IBSendD0CcACmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "auxiliary",
+ "printedName": "auxiliary",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBParameter.Type) -> (IOTBluetooth.IBAuxiliary) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBAuxiliary) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "IBAuxiliary",
+ "printedName": "IOTBluetooth.IBAuxiliary",
+ "usr": "s:12IOTBluetooth11IBAuxiliaryO"
+ }
+ ]
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBParameter.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth11IBParameterO9auxiliaryyAcA11IBAuxiliaryOcACmF",
+ "mangledName": "$s12IOTBluetooth11IBParameterO9auxiliaryyAcA11IBAuxiliaryOcACmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "userInfo",
+ "printedName": "userInfo",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBParameter.Type) -> (IOTBluetooth.IBUserInfo) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBUserInfo) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "IBUserInfo",
+ "printedName": "IOTBluetooth.IBUserInfo",
+ "usr": "s:12IOTBluetooth10IBUserInfoC"
+ }
+ ]
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBParameter.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth11IBParameterO8userInfoyAcA06IBUserD0CcACmF",
+ "mangledName": "$s12IOTBluetooth11IBParameterO8userInfoyAcA06IBUserD0CcACmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "weather",
+ "printedName": "weather",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBParameter.Type) -> (IOTBluetooth.IBWeather) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBWeather) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "IBWeather",
+ "printedName": "IOTBluetooth.IBWeather",
+ "usr": "s:12IOTBluetooth9IBWeatherC"
+ }
+ ]
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBParameter.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth11IBParameterO7weatheryAcA9IBWeatherCcACmF",
+ "mangledName": "$s12IOTBluetooth11IBParameterO7weatheryAcA9IBWeatherCcACmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "addressBook",
+ "printedName": "addressBook",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBParameter.Type) -> ([IOTBluetooth.IBAddressBook]) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "([IOTBluetooth.IBAddressBook]) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[IOTBluetooth.IBAddressBook]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAddressBook",
+ "printedName": "IOTBluetooth.IBAddressBook",
+ "usr": "s:12IOTBluetooth13IBAddressBookC"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ]
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBParameter.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth11IBParameterO11addressBookyACSayAA09IBAddressD0CGcACmF",
+ "mangledName": "$s12IOTBluetooth11IBParameterO11addressBookyACSayAA09IBAddressD0CGcACmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "epo",
+ "printedName": "epo",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBParameter.Type) -> ([IOTBluetooth.IBEpo]) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "([IOTBluetooth.IBEpo]) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[IOTBluetooth.IBEpo]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBEpo",
+ "printedName": "IOTBluetooth.IBEpo",
+ "usr": "s:12IOTBluetooth5IBEpoC"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ]
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBParameter.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth11IBParameterO3epoyACSayAA5IBEpoCGcACmF",
+ "mangledName": "$s12IOTBluetooth11IBParameterO3epoyACSayAA5IBEpoCGcACmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "ota",
+ "printedName": "ota",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBParameter.Type) -> (IOTBluetooth.IBOtaFile) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBOtaFile) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "IBOtaFile",
+ "printedName": "IOTBluetooth.IBOtaFile",
+ "usr": "s:12IOTBluetooth9IBOtaFileC"
+ }
+ ]
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBParameter.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth11IBParameterO3otayAcA9IBOtaFileCcACmF",
+ "mangledName": "$s12IOTBluetooth11IBParameterO3otayAcA9IBOtaFileCcACmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "MP3",
+ "printedName": "MP3",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBParameter.Type) -> (IOTBluetooth.IBMp3File) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBMp3File) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "IBMp3File",
+ "printedName": "IOTBluetooth.IBMp3File",
+ "usr": "s:12IOTBluetooth9IBMp3FileC"
+ }
+ ]
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBParameter.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth11IBParameterO3MP3yAcA9IBMp3FileCcACmF",
+ "mangledName": "$s12IOTBluetooth11IBParameterO3MP3yAcA9IBMp3FileCcACmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "dial",
+ "printedName": "dial",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBParameter.Type) -> (IOTBluetooth.IBDial) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBDial) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "IBDial",
+ "printedName": "IOTBluetooth.IBDial",
+ "usr": "s:12IOTBluetooth6IBDialC"
+ }
+ ]
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBParameter.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth11IBParameterO4dialyAcA6IBDialCcACmF",
+ "mangledName": "$s12IOTBluetooth11IBParameterO4dialyAcA6IBDialCcACmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "dialFile",
+ "printedName": "dialFile",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBParameter.Type) -> (IOTBluetooth.IBDialFile) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBDialFile) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "IBDialFile",
+ "printedName": "IOTBluetooth.IBDialFile",
+ "usr": "s:12IOTBluetooth10IBDialFileC"
+ }
+ ]
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBParameter.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth11IBParameterO8dialFileyAcA06IBDialD0CcACmF",
+ "mangledName": "$s12IOTBluetooth11IBParameterO8dialFileyAcA06IBDialD0CcACmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "deleteFile",
+ "printedName": "deleteFile",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBParameter.Type) -> (IOTBluetooth.IBDeleteFile) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBDeleteFile) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "IBDeleteFile",
+ "printedName": "IOTBluetooth.IBDeleteFile",
+ "usr": "s:12IOTBluetooth12IBDeleteFileC"
+ }
+ ]
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBParameter.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth11IBParameterO10deleteFileyAcA08IBDeleteD0CcACmF",
+ "mangledName": "$s12IOTBluetooth11IBParameterO10deleteFileyAcA08IBDeleteD0CcACmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "fetchFils",
+ "printedName": "fetchFils",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBParameter.Type) -> (IOTBluetooth.IBFile) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBFile) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "IBFile",
+ "printedName": "IOTBluetooth.IBFile",
+ "usr": "s:12IOTBluetooth6IBFileO"
+ }
+ ]
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBParameter.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth11IBParameterO9fetchFilsyAcA6IBFileOcACmF",
+ "mangledName": "$s12IOTBluetooth11IBParameterO9fetchFilsyAcA6IBFileOcACmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "aiValid",
+ "printedName": "aiValid",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBParameter.Type) -> (IOTBluetooth.IBAiValid) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBAiValid) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "IBAiValid",
+ "printedName": "IOTBluetooth.IBAiValid",
+ "usr": "s:12IOTBluetooth9IBAiValidC"
+ }
+ ]
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBParameter.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth11IBParameterO7aiValidyAcA04IBAiD0CcACmF",
+ "mangledName": "$s12IOTBluetooth11IBParameterO7aiValidyAcA04IBAiD0CcACmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "aiResponse",
+ "printedName": "aiResponse",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBParameter.Type) -> (IOTBluetooth.IBAiResponse) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBAiResponse) -> IOTBluetooth.IBParameter",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "IBAiResponse",
+ "printedName": "IOTBluetooth.IBAiResponse",
+ "usr": "s:12IOTBluetooth12IBAiResponseC"
+ }
+ ]
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBParameter.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth11IBParameterO10aiResponseyAcA04IBAiD0CcACmF",
+ "mangledName": "$s12IOTBluetooth11IBParameterO10aiResponseyAcA04IBAiD0CcACmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ }
+ ],
+ "declKind": "Enum",
+ "usr": "s:12IOTBluetooth11IBParameterO",
+ "mangledName": "$s12IOTBluetooth11IBParameterO",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBMotionMode",
+ "printedName": "IBMotionMode",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "walking",
+ "printedName": "walking",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBMotionMode.Type) -> IOTBluetooth.IBMotionMode",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBMotionMode",
+ "printedName": "IOTBluetooth.IBMotionMode",
+ "usr": "s:12IOTBluetooth12IBMotionModeO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBMotionMode.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBMotionMode",
+ "printedName": "IOTBluetooth.IBMotionMode",
+ "usr": "s:12IOTBluetooth12IBMotionModeO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth12IBMotionModeO7walkingyA2CmF",
+ "mangledName": "$s12IOTBluetooth12IBMotionModeO7walkingyA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "running",
+ "printedName": "running",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBMotionMode.Type) -> IOTBluetooth.IBMotionMode",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBMotionMode",
+ "printedName": "IOTBluetooth.IBMotionMode",
+ "usr": "s:12IOTBluetooth12IBMotionModeO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBMotionMode.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBMotionMode",
+ "printedName": "IOTBluetooth.IBMotionMode",
+ "usr": "s:12IOTBluetooth12IBMotionModeO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth12IBMotionModeO7runningyA2CmF",
+ "mangledName": "$s12IOTBluetooth12IBMotionModeO7runningyA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "ride",
+ "printedName": "ride",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBMotionMode.Type) -> IOTBluetooth.IBMotionMode",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBMotionMode",
+ "printedName": "IOTBluetooth.IBMotionMode",
+ "usr": "s:12IOTBluetooth12IBMotionModeO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBMotionMode.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBMotionMode",
+ "printedName": "IOTBluetooth.IBMotionMode",
+ "usr": "s:12IOTBluetooth12IBMotionModeO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth12IBMotionModeO4rideyA2CmF",
+ "mangledName": "$s12IOTBluetooth12IBMotionModeO4rideyA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(rawValue:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "IOTBluetooth.IBMotionMode?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBMotionMode",
+ "printedName": "IOTBluetooth.IBMotionMode",
+ "usr": "s:12IOTBluetooth12IBMotionModeO"
+ }
+ ],
+ "usr": "s:Sq"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth12IBMotionModeO8rawValueACSgSi_tcfc",
+ "mangledName": "$s12IOTBluetooth12IBMotionModeO8rawValueACSgSi_tcfc",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Var",
+ "name": "rawValue",
+ "printedName": "rawValue",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth12IBMotionModeO8rawValueSivp",
+ "mangledName": "$s12IOTBluetooth12IBMotionModeO8rawValueSivp",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBMotionModeO8rawValueSivg",
+ "mangledName": "$s12IOTBluetooth12IBMotionModeO8rawValueSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ }
+ ]
+ }
+ ],
+ "declKind": "Enum",
+ "usr": "s:12IOTBluetooth12IBMotionModeO",
+ "mangledName": "$s12IOTBluetooth12IBMotionModeO",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "enumRawTypeName": "Int",
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Equatable",
+ "printedName": "Equatable",
+ "usr": "s:SQ",
+ "mangledName": "$sSQ"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Hashable",
+ "printedName": "Hashable",
+ "usr": "s:SH",
+ "mangledName": "$sSH"
+ },
+ {
+ "kind": "Conformance",
+ "name": "RawRepresentable",
+ "printedName": "RawRepresentable",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "RawValue",
+ "printedName": "RawValue",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ]
+ }
+ ],
+ "usr": "s:SY",
+ "mangledName": "$sSY"
+ }
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBFile",
+ "printedName": "IBFile",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "ota",
+ "printedName": "ota",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBFile.Type) -> IOTBluetooth.IBFile",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBFile",
+ "printedName": "IOTBluetooth.IBFile",
+ "usr": "s:12IOTBluetooth6IBFileO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBFile.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBFile",
+ "printedName": "IOTBluetooth.IBFile",
+ "usr": "s:12IOTBluetooth6IBFileO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth6IBFileO3otayA2CmF",
+ "mangledName": "$s12IOTBluetooth6IBFileO3otayA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "mp3",
+ "printedName": "mp3",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBFile.Type) -> IOTBluetooth.IBFile",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBFile",
+ "printedName": "IOTBluetooth.IBFile",
+ "usr": "s:12IOTBluetooth6IBFileO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBFile.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBFile",
+ "printedName": "IOTBluetooth.IBFile",
+ "usr": "s:12IOTBluetooth6IBFileO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth6IBFileO3mp3yA2CmF",
+ "mangledName": "$s12IOTBluetooth6IBFileO3mp3yA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "dial",
+ "printedName": "dial",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBFile.Type) -> IOTBluetooth.IBFile",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBFile",
+ "printedName": "IOTBluetooth.IBFile",
+ "usr": "s:12IOTBluetooth6IBFileO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBFile.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBFile",
+ "printedName": "IOTBluetooth.IBFile",
+ "usr": "s:12IOTBluetooth6IBFileO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth6IBFileO4dialyA2CmF",
+ "mangledName": "$s12IOTBluetooth6IBFileO4dialyA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "ota_w4",
+ "printedName": "ota_w4",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBFile.Type) -> IOTBluetooth.IBFile",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBFile",
+ "printedName": "IOTBluetooth.IBFile",
+ "usr": "s:12IOTBluetooth6IBFileO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBFile.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBFile",
+ "printedName": "IOTBluetooth.IBFile",
+ "usr": "s:12IOTBluetooth6IBFileO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth6IBFileO6ota_w4yA2CmF",
+ "mangledName": "$s12IOTBluetooth6IBFileO6ota_w4yA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "epo",
+ "printedName": "epo",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBFile.Type) -> IOTBluetooth.IBFile",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBFile",
+ "printedName": "IOTBluetooth.IBFile",
+ "usr": "s:12IOTBluetooth6IBFileO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBFile.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBFile",
+ "printedName": "IOTBluetooth.IBFile",
+ "usr": "s:12IOTBluetooth6IBFileO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth6IBFileO3epoyA2CmF",
+ "mangledName": "$s12IOTBluetooth6IBFileO3epoyA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(rawValue:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "IOTBluetooth.IBFile?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBFile",
+ "printedName": "IOTBluetooth.IBFile",
+ "usr": "s:12IOTBluetooth6IBFileO"
+ }
+ ],
+ "usr": "s:Sq"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth6IBFileO8rawValueACSgSi_tcfc",
+ "mangledName": "$s12IOTBluetooth6IBFileO8rawValueACSgSi_tcfc",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Var",
+ "name": "rawValue",
+ "printedName": "rawValue",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth6IBFileO8rawValueSivp",
+ "mangledName": "$s12IOTBluetooth6IBFileO8rawValueSivp",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth6IBFileO8rawValueSivg",
+ "mangledName": "$s12IOTBluetooth6IBFileO8rawValueSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ }
+ ]
+ }
+ ],
+ "declKind": "Enum",
+ "usr": "s:12IOTBluetooth6IBFileO",
+ "mangledName": "$s12IOTBluetooth6IBFileO",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "enumRawTypeName": "Int",
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Equatable",
+ "printedName": "Equatable",
+ "usr": "s:SQ",
+ "mangledName": "$sSQ"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Hashable",
+ "printedName": "Hashable",
+ "usr": "s:SH",
+ "mangledName": "$sSH"
+ },
+ {
+ "kind": "Conformance",
+ "name": "RawRepresentable",
+ "printedName": "RawRepresentable",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "RawValue",
+ "printedName": "RawValue",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ]
+ }
+ ],
+ "usr": "s:SY",
+ "mangledName": "$sSY"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Decodable",
+ "printedName": "Decodable",
+ "usr": "s:Se",
+ "mangledName": "$sSe"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Encodable",
+ "printedName": "Encodable",
+ "usr": "s:SE",
+ "mangledName": "$sSE"
+ }
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBAuxiliary",
+ "printedName": "IBAuxiliary",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "sport",
+ "printedName": "sport",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBAuxiliary.Type) -> IOTBluetooth.IBAuxiliary",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAuxiliary",
+ "printedName": "IOTBluetooth.IBAuxiliary",
+ "usr": "s:12IOTBluetooth11IBAuxiliaryO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBAuxiliary.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAuxiliary",
+ "printedName": "IOTBluetooth.IBAuxiliary",
+ "usr": "s:12IOTBluetooth11IBAuxiliaryO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth11IBAuxiliaryO5sportyA2CmF",
+ "mangledName": "$s12IOTBluetooth11IBAuxiliaryO5sportyA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "heart",
+ "printedName": "heart",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBAuxiliary.Type) -> IOTBluetooth.IBAuxiliary",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAuxiliary",
+ "printedName": "IOTBluetooth.IBAuxiliary",
+ "usr": "s:12IOTBluetooth11IBAuxiliaryO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBAuxiliary.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAuxiliary",
+ "printedName": "IOTBluetooth.IBAuxiliary",
+ "usr": "s:12IOTBluetooth11IBAuxiliaryO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth11IBAuxiliaryO5heartyA2CmF",
+ "mangledName": "$s12IOTBluetooth11IBAuxiliaryO5heartyA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "bloodOxygen",
+ "printedName": "bloodOxygen",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBAuxiliary.Type) -> IOTBluetooth.IBAuxiliary",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAuxiliary",
+ "printedName": "IOTBluetooth.IBAuxiliary",
+ "usr": "s:12IOTBluetooth11IBAuxiliaryO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBAuxiliary.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAuxiliary",
+ "printedName": "IOTBluetooth.IBAuxiliary",
+ "usr": "s:12IOTBluetooth11IBAuxiliaryO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth11IBAuxiliaryO11bloodOxygenyA2CmF",
+ "mangledName": "$s12IOTBluetooth11IBAuxiliaryO11bloodOxygenyA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "train",
+ "printedName": "train",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBAuxiliary.Type) -> IOTBluetooth.IBAuxiliary",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAuxiliary",
+ "printedName": "IOTBluetooth.IBAuxiliary",
+ "usr": "s:12IOTBluetooth11IBAuxiliaryO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBAuxiliary.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAuxiliary",
+ "printedName": "IOTBluetooth.IBAuxiliary",
+ "usr": "s:12IOTBluetooth11IBAuxiliaryO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth11IBAuxiliaryO5trainyA2CmF",
+ "mangledName": "$s12IOTBluetooth11IBAuxiliaryO5trainyA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "tarinRecord",
+ "printedName": "tarinRecord",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBAuxiliary.Type) -> IOTBluetooth.IBAuxiliary",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAuxiliary",
+ "printedName": "IOTBluetooth.IBAuxiliary",
+ "usr": "s:12IOTBluetooth11IBAuxiliaryO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBAuxiliary.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAuxiliary",
+ "printedName": "IOTBluetooth.IBAuxiliary",
+ "usr": "s:12IOTBluetooth11IBAuxiliaryO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth11IBAuxiliaryO11tarinRecordyA2CmF",
+ "mangledName": "$s12IOTBluetooth11IBAuxiliaryO11tarinRecordyA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "compass",
+ "printedName": "compass",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBAuxiliary.Type) -> IOTBluetooth.IBAuxiliary",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAuxiliary",
+ "printedName": "IOTBluetooth.IBAuxiliary",
+ "usr": "s:12IOTBluetooth11IBAuxiliaryO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBAuxiliary.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAuxiliary",
+ "printedName": "IOTBluetooth.IBAuxiliary",
+ "usr": "s:12IOTBluetooth11IBAuxiliaryO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth11IBAuxiliaryO7compassyA2CmF",
+ "mangledName": "$s12IOTBluetooth11IBAuxiliaryO7compassyA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "weather",
+ "printedName": "weather",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBAuxiliary.Type) -> IOTBluetooth.IBAuxiliary",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAuxiliary",
+ "printedName": "IOTBluetooth.IBAuxiliary",
+ "usr": "s:12IOTBluetooth11IBAuxiliaryO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBAuxiliary.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAuxiliary",
+ "printedName": "IOTBluetooth.IBAuxiliary",
+ "usr": "s:12IOTBluetooth11IBAuxiliaryO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth11IBAuxiliaryO7weatheryA2CmF",
+ "mangledName": "$s12IOTBluetooth11IBAuxiliaryO7weatheryA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "music",
+ "printedName": "music",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBAuxiliary.Type) -> IOTBluetooth.IBAuxiliary",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAuxiliary",
+ "printedName": "IOTBluetooth.IBAuxiliary",
+ "usr": "s:12IOTBluetooth11IBAuxiliaryO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBAuxiliary.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAuxiliary",
+ "printedName": "IOTBluetooth.IBAuxiliary",
+ "usr": "s:12IOTBluetooth11IBAuxiliaryO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth11IBAuxiliaryO5musicyA2CmF",
+ "mangledName": "$s12IOTBluetooth11IBAuxiliaryO5musicyA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "mobile",
+ "printedName": "mobile",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBAuxiliary.Type) -> IOTBluetooth.IBAuxiliary",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAuxiliary",
+ "printedName": "IOTBluetooth.IBAuxiliary",
+ "usr": "s:12IOTBluetooth11IBAuxiliaryO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBAuxiliary.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAuxiliary",
+ "printedName": "IOTBluetooth.IBAuxiliary",
+ "usr": "s:12IOTBluetooth11IBAuxiliaryO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth11IBAuxiliaryO6mobileyA2CmF",
+ "mangledName": "$s12IOTBluetooth11IBAuxiliaryO6mobileyA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "record",
+ "printedName": "record",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBAuxiliary.Type) -> IOTBluetooth.IBAuxiliary",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAuxiliary",
+ "printedName": "IOTBluetooth.IBAuxiliary",
+ "usr": "s:12IOTBluetooth11IBAuxiliaryO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBAuxiliary.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAuxiliary",
+ "printedName": "IOTBluetooth.IBAuxiliary",
+ "usr": "s:12IOTBluetooth11IBAuxiliaryO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth11IBAuxiliaryO6recordyA2CmF",
+ "mangledName": "$s12IOTBluetooth11IBAuxiliaryO6recordyA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "secondTimer",
+ "printedName": "secondTimer",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBAuxiliary.Type) -> IOTBluetooth.IBAuxiliary",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAuxiliary",
+ "printedName": "IOTBluetooth.IBAuxiliary",
+ "usr": "s:12IOTBluetooth11IBAuxiliaryO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBAuxiliary.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAuxiliary",
+ "printedName": "IOTBluetooth.IBAuxiliary",
+ "usr": "s:12IOTBluetooth11IBAuxiliaryO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth11IBAuxiliaryO11secondTimeryA2CmF",
+ "mangledName": "$s12IOTBluetooth11IBAuxiliaryO11secondTimeryA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "timer",
+ "printedName": "timer",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBAuxiliary.Type) -> IOTBluetooth.IBAuxiliary",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAuxiliary",
+ "printedName": "IOTBluetooth.IBAuxiliary",
+ "usr": "s:12IOTBluetooth11IBAuxiliaryO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBAuxiliary.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAuxiliary",
+ "printedName": "IOTBluetooth.IBAuxiliary",
+ "usr": "s:12IOTBluetooth11IBAuxiliaryO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth11IBAuxiliaryO5timeryA2CmF",
+ "mangledName": "$s12IOTBluetooth11IBAuxiliaryO5timeryA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "clock",
+ "printedName": "clock",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBAuxiliary.Type) -> IOTBluetooth.IBAuxiliary",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAuxiliary",
+ "printedName": "IOTBluetooth.IBAuxiliary",
+ "usr": "s:12IOTBluetooth11IBAuxiliaryO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBAuxiliary.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAuxiliary",
+ "printedName": "IOTBluetooth.IBAuxiliary",
+ "usr": "s:12IOTBluetooth11IBAuxiliaryO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth11IBAuxiliaryO5clockyA2CmF",
+ "mangledName": "$s12IOTBluetooth11IBAuxiliaryO5clockyA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "bluetooth",
+ "printedName": "bluetooth",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBAuxiliary.Type) -> IOTBluetooth.IBAuxiliary",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAuxiliary",
+ "printedName": "IOTBluetooth.IBAuxiliary",
+ "usr": "s:12IOTBluetooth11IBAuxiliaryO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBAuxiliary.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAuxiliary",
+ "printedName": "IOTBluetooth.IBAuxiliary",
+ "usr": "s:12IOTBluetooth11IBAuxiliaryO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth11IBAuxiliaryO9bluetoothyA2CmF",
+ "mangledName": "$s12IOTBluetooth11IBAuxiliaryO9bluetoothyA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "sleep",
+ "printedName": "sleep",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBAuxiliary.Type) -> IOTBluetooth.IBAuxiliary",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAuxiliary",
+ "printedName": "IOTBluetooth.IBAuxiliary",
+ "usr": "s:12IOTBluetooth11IBAuxiliaryO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBAuxiliary.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAuxiliary",
+ "printedName": "IOTBluetooth.IBAuxiliary",
+ "usr": "s:12IOTBluetooth11IBAuxiliaryO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth11IBAuxiliaryO5sleepyA2CmF",
+ "mangledName": "$s12IOTBluetooth11IBAuxiliaryO5sleepyA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "setting",
+ "printedName": "setting",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBAuxiliary.Type) -> IOTBluetooth.IBAuxiliary",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAuxiliary",
+ "printedName": "IOTBluetooth.IBAuxiliary",
+ "usr": "s:12IOTBluetooth11IBAuxiliaryO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBAuxiliary.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAuxiliary",
+ "printedName": "IOTBluetooth.IBAuxiliary",
+ "usr": "s:12IOTBluetooth11IBAuxiliaryO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth11IBAuxiliaryO7settingyA2CmF",
+ "mangledName": "$s12IOTBluetooth11IBAuxiliaryO7settingyA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(rawValue:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "IOTBluetooth.IBAuxiliary?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAuxiliary",
+ "printedName": "IOTBluetooth.IBAuxiliary",
+ "usr": "s:12IOTBluetooth11IBAuxiliaryO"
+ }
+ ],
+ "usr": "s:Sq"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth11IBAuxiliaryO8rawValueACSgSi_tcfc",
+ "mangledName": "$s12IOTBluetooth11IBAuxiliaryO8rawValueACSgSi_tcfc",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Var",
+ "name": "rawValue",
+ "printedName": "rawValue",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth11IBAuxiliaryO8rawValueSivp",
+ "mangledName": "$s12IOTBluetooth11IBAuxiliaryO8rawValueSivp",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth11IBAuxiliaryO8rawValueSivg",
+ "mangledName": "$s12IOTBluetooth11IBAuxiliaryO8rawValueSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ }
+ ]
+ }
+ ],
+ "declKind": "Enum",
+ "usr": "s:12IOTBluetooth11IBAuxiliaryO",
+ "mangledName": "$s12IOTBluetooth11IBAuxiliaryO",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "enumRawTypeName": "Int",
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Equatable",
+ "printedName": "Equatable",
+ "usr": "s:SQ",
+ "mangledName": "$sSQ"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Hashable",
+ "printedName": "Hashable",
+ "usr": "s:SH",
+ "mangledName": "$sSH"
+ },
+ {
+ "kind": "Conformance",
+ "name": "RawRepresentable",
+ "printedName": "RawRepresentable",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "RawValue",
+ "printedName": "RawValue",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ]
+ }
+ ],
+ "usr": "s:SY",
+ "mangledName": "$sSY"
+ }
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBOtherTarget",
+ "printedName": "IBOtherTarget",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "calorie",
+ "printedName": "calorie",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth13IBOtherTargetC7calorieSivp",
+ "mangledName": "$s12IOTBluetooth13IBOtherTargetC7calorieSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBOtherTargetC7calorieSivg",
+ "mangledName": "$s12IOTBluetooth13IBOtherTargetC7calorieSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBOtherTargetC7calorieSivs",
+ "mangledName": "$s12IOTBluetooth13IBOtherTargetC7calorieSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBOtherTargetC7calorieSivM",
+ "mangledName": "$s12IOTBluetooth13IBOtherTargetC7calorieSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "mileage",
+ "printedName": "mileage",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth13IBOtherTargetC7mileageSivp",
+ "mangledName": "$s12IOTBluetooth13IBOtherTargetC7mileageSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBOtherTargetC7mileageSivg",
+ "mangledName": "$s12IOTBluetooth13IBOtherTargetC7mileageSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBOtherTargetC7mileageSivs",
+ "mangledName": "$s12IOTBluetooth13IBOtherTargetC7mileageSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBOtherTargetC7mileageSivM",
+ "mangledName": "$s12IOTBluetooth13IBOtherTargetC7mileageSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "stand",
+ "printedName": "stand",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth13IBOtherTargetC5standSivp",
+ "mangledName": "$s12IOTBluetooth13IBOtherTargetC5standSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBOtherTargetC5standSivg",
+ "mangledName": "$s12IOTBluetooth13IBOtherTargetC5standSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBOtherTargetC5standSivs",
+ "mangledName": "$s12IOTBluetooth13IBOtherTargetC5standSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBOtherTargetC5standSivM",
+ "mangledName": "$s12IOTBluetooth13IBOtherTargetC5standSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "burning",
+ "printedName": "burning",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth13IBOtherTargetC7burningSivp",
+ "mangledName": "$s12IOTBluetooth13IBOtherTargetC7burningSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBOtherTargetC7burningSivg",
+ "mangledName": "$s12IOTBluetooth13IBOtherTargetC7burningSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBOtherTargetC7burningSivs",
+ "mangledName": "$s12IOTBluetooth13IBOtherTargetC7burningSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBOtherTargetC7burningSivM",
+ "mangledName": "$s12IOTBluetooth13IBOtherTargetC7burningSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "ringsState",
+ "printedName": "ringsState",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth13IBOtherTargetC10ringsStateSivp",
+ "mangledName": "$s12IOTBluetooth13IBOtherTargetC10ringsStateSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBOtherTargetC10ringsStateSivg",
+ "mangledName": "$s12IOTBluetooth13IBOtherTargetC10ringsStateSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBOtherTargetC10ringsStateSivs",
+ "mangledName": "$s12IOTBluetooth13IBOtherTargetC10ringsStateSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBOtherTargetC10ringsStateSivM",
+ "mangledName": "$s12IOTBluetooth13IBOtherTargetC10ringsStateSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "vibrateState",
+ "printedName": "vibrateState",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth13IBOtherTargetC12vibrateStateSivp",
+ "mangledName": "$s12IOTBluetooth13IBOtherTargetC12vibrateStateSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBOtherTargetC12vibrateStateSivg",
+ "mangledName": "$s12IOTBluetooth13IBOtherTargetC12vibrateStateSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBOtherTargetC12vibrateStateSivs",
+ "mangledName": "$s12IOTBluetooth13IBOtherTargetC12vibrateStateSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBOtherTargetC12vibrateStateSivM",
+ "mangledName": "$s12IOTBluetooth13IBOtherTargetC12vibrateStateSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "noticeState",
+ "printedName": "noticeState",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth13IBOtherTargetC11noticeStateSivp",
+ "mangledName": "$s12IOTBluetooth13IBOtherTargetC11noticeStateSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBOtherTargetC11noticeStateSivg",
+ "mangledName": "$s12IOTBluetooth13IBOtherTargetC11noticeStateSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBOtherTargetC11noticeStateSivs",
+ "mangledName": "$s12IOTBluetooth13IBOtherTargetC11noticeStateSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBOtherTargetC11noticeStateSivM",
+ "mangledName": "$s12IOTBluetooth13IBOtherTargetC11noticeStateSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBOtherTarget",
+ "printedName": "IOTBluetooth.IBOtherTarget",
+ "usr": "s:12IOTBluetooth13IBOtherTargetC"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth13IBOtherTargetCACycfc",
+ "mangledName": "$s12IOTBluetooth13IBOtherTargetCACycfc",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "init_kind": "Designated"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:12IOTBluetooth13IBOtherTargetC",
+ "mangledName": "$s12IOTBluetooth13IBOtherTargetC",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasMissingDesignatedInitializers": true
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBAbout",
+ "printedName": "IBAbout",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "code",
+ "printedName": "code",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth7IBAboutC4codeSivp",
+ "mangledName": "$s12IOTBluetooth7IBAboutC4codeSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth7IBAboutC4codeSivg",
+ "mangledName": "$s12IOTBluetooth7IBAboutC4codeSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth7IBAboutC4codeSivs",
+ "mangledName": "$s12IOTBluetooth7IBAboutC4codeSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth7IBAboutC4codeSivM",
+ "mangledName": "$s12IOTBluetooth7IBAboutC4codeSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "major",
+ "printedName": "major",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth7IBAboutC5majorSivp",
+ "mangledName": "$s12IOTBluetooth7IBAboutC5majorSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth7IBAboutC5majorSivg",
+ "mangledName": "$s12IOTBluetooth7IBAboutC5majorSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth7IBAboutC5majorSivs",
+ "mangledName": "$s12IOTBluetooth7IBAboutC5majorSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth7IBAboutC5majorSivM",
+ "mangledName": "$s12IOTBluetooth7IBAboutC5majorSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "mid",
+ "printedName": "mid",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth7IBAboutC3midSivp",
+ "mangledName": "$s12IOTBluetooth7IBAboutC3midSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth7IBAboutC3midSivg",
+ "mangledName": "$s12IOTBluetooth7IBAboutC3midSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth7IBAboutC3midSivs",
+ "mangledName": "$s12IOTBluetooth7IBAboutC3midSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth7IBAboutC3midSivM",
+ "mangledName": "$s12IOTBluetooth7IBAboutC3midSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "minor",
+ "printedName": "minor",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth7IBAboutC5minorSivp",
+ "mangledName": "$s12IOTBluetooth7IBAboutC5minorSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth7IBAboutC5minorSivg",
+ "mangledName": "$s12IOTBluetooth7IBAboutC5minorSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth7IBAboutC5minorSivs",
+ "mangledName": "$s12IOTBluetooth7IBAboutC5minorSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth7IBAboutC5minorSivM",
+ "mangledName": "$s12IOTBluetooth7IBAboutC5minorSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "macAddress",
+ "printedName": "macAddress",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth7IBAboutC10macAddressSSvp",
+ "mangledName": "$s12IOTBluetooth7IBAboutC10macAddressSSvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth7IBAboutC10macAddressSSvg",
+ "mangledName": "$s12IOTBluetooth7IBAboutC10macAddressSSvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth7IBAboutC10macAddressSSvs",
+ "mangledName": "$s12IOTBluetooth7IBAboutC10macAddressSSvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth7IBAboutC10macAddressSSvM",
+ "mangledName": "$s12IOTBluetooth7IBAboutC10macAddressSSvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbout",
+ "printedName": "IOTBluetooth.IBAbout",
+ "usr": "s:12IOTBluetooth7IBAboutC"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth7IBAboutCACycfc",
+ "mangledName": "$s12IOTBluetooth7IBAboutCACycfc",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(from:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbout",
+ "printedName": "IOTBluetooth.IBAbout",
+ "usr": "s:12IOTBluetooth7IBAboutC"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Decoder",
+ "printedName": "Swift.Decoder",
+ "usr": "s:s7DecoderP"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth7IBAboutC4fromACs7Decoder_p_tKcfc",
+ "mangledName": "$s12IOTBluetooth7IBAboutC4fromACs7Decoder_p_tKcfc",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "declAttributes": [
+ "Required"
+ ],
+ "throwing": true,
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Function",
+ "name": "encode",
+ "printedName": "encode(to:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Encoder",
+ "printedName": "Swift.Encoder",
+ "usr": "s:s7EncoderP"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:12IOTBluetooth7IBAboutC6encode2toys7Encoder_p_tKF",
+ "mangledName": "$s12IOTBluetooth7IBAboutC6encode2toys7Encoder_p_tKF",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "throwing": true,
+ "funcSelfKind": "NonMutating"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:12IOTBluetooth7IBAboutC",
+ "mangledName": "$s12IOTBluetooth7IBAboutC",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Decodable",
+ "printedName": "Decodable",
+ "usr": "s:Se",
+ "mangledName": "$sSe"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Encodable",
+ "printedName": "Encodable",
+ "usr": "s:SE",
+ "mangledName": "$sSE"
+ }
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBHistoryDistanceItem",
+ "printedName": "IBHistoryDistanceItem",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "time",
+ "printedName": "time",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth21IBHistoryDistanceItemC4timeSivp",
+ "mangledName": "$s12IOTBluetooth21IBHistoryDistanceItemC4timeSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth21IBHistoryDistanceItemC4timeSivg",
+ "mangledName": "$s12IOTBluetooth21IBHistoryDistanceItemC4timeSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth21IBHistoryDistanceItemC4timeSivs",
+ "mangledName": "$s12IOTBluetooth21IBHistoryDistanceItemC4timeSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth21IBHistoryDistanceItemC4timeSivM",
+ "mangledName": "$s12IOTBluetooth21IBHistoryDistanceItemC4timeSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "value",
+ "printedName": "value",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Float",
+ "printedName": "Swift.Float",
+ "usr": "s:Sf"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth21IBHistoryDistanceItemC5valueSfvp",
+ "mangledName": "$s12IOTBluetooth21IBHistoryDistanceItemC5valueSfvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Float",
+ "printedName": "Swift.Float",
+ "usr": "s:Sf"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth21IBHistoryDistanceItemC5valueSfvg",
+ "mangledName": "$s12IOTBluetooth21IBHistoryDistanceItemC5valueSfvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Float",
+ "printedName": "Swift.Float",
+ "usr": "s:Sf"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth21IBHistoryDistanceItemC5valueSfvs",
+ "mangledName": "$s12IOTBluetooth21IBHistoryDistanceItemC5valueSfvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth21IBHistoryDistanceItemC5valueSfvM",
+ "mangledName": "$s12IOTBluetooth21IBHistoryDistanceItemC5valueSfvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBHistoryDistanceItem",
+ "printedName": "IOTBluetooth.IBHistoryDistanceItem",
+ "usr": "s:12IOTBluetooth21IBHistoryDistanceItemC"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth21IBHistoryDistanceItemCACycfc",
+ "mangledName": "$s12IOTBluetooth21IBHistoryDistanceItemCACycfc",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "init_kind": "Designated"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:12IOTBluetooth21IBHistoryDistanceItemC",
+ "mangledName": "$s12IOTBluetooth21IBHistoryDistanceItemC",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBHistoryBaseTrainingItem",
+ "printedName": "IBHistoryBaseTrainingItem",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "source",
+ "printedName": "source",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC6sourceSivp",
+ "mangledName": "$s12IOTBluetooth25IBHistoryBaseTrainingItemC6sourceSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC6sourceSivg",
+ "mangledName": "$s12IOTBluetooth25IBHistoryBaseTrainingItemC6sourceSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC6sourceSivs",
+ "mangledName": "$s12IOTBluetooth25IBHistoryBaseTrainingItemC6sourceSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC6sourceSivM",
+ "mangledName": "$s12IOTBluetooth25IBHistoryBaseTrainingItemC6sourceSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "otherType",
+ "printedName": "otherType",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC9otherTypeSiSgvp",
+ "mangledName": "$s12IOTBluetooth25IBHistoryBaseTrainingItemC9otherTypeSiSgvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC9otherTypeSiSgvg",
+ "mangledName": "$s12IOTBluetooth25IBHistoryBaseTrainingItemC9otherTypeSiSgvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC9otherTypeSiSgvs",
+ "mangledName": "$s12IOTBluetooth25IBHistoryBaseTrainingItemC9otherTypeSiSgvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC9otherTypeSiSgvM",
+ "mangledName": "$s12IOTBluetooth25IBHistoryBaseTrainingItemC9otherTypeSiSgvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "trainingType",
+ "printedName": "trainingType",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC12trainingTypeSivp",
+ "mangledName": "$s12IOTBluetooth25IBHistoryBaseTrainingItemC12trainingTypeSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC12trainingTypeSivg",
+ "mangledName": "$s12IOTBluetooth25IBHistoryBaseTrainingItemC12trainingTypeSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC12trainingTypeSivs",
+ "mangledName": "$s12IOTBluetooth25IBHistoryBaseTrainingItemC12trainingTypeSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC12trainingTypeSivM",
+ "mangledName": "$s12IOTBluetooth25IBHistoryBaseTrainingItemC12trainingTypeSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "star",
+ "printedName": "star",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC4starSivp",
+ "mangledName": "$s12IOTBluetooth25IBHistoryBaseTrainingItemC4starSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC4starSivg",
+ "mangledName": "$s12IOTBluetooth25IBHistoryBaseTrainingItemC4starSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC4starSivs",
+ "mangledName": "$s12IOTBluetooth25IBHistoryBaseTrainingItemC4starSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC4starSivM",
+ "mangledName": "$s12IOTBluetooth25IBHistoryBaseTrainingItemC4starSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "stop",
+ "printedName": "stop",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC4stopSivp",
+ "mangledName": "$s12IOTBluetooth25IBHistoryBaseTrainingItemC4stopSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC4stopSivg",
+ "mangledName": "$s12IOTBluetooth25IBHistoryBaseTrainingItemC4stopSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC4stopSivs",
+ "mangledName": "$s12IOTBluetooth25IBHistoryBaseTrainingItemC4stopSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC4stopSivM",
+ "mangledName": "$s12IOTBluetooth25IBHistoryBaseTrainingItemC4stopSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "targetType",
+ "printedName": "targetType",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC10targetTypeSivp",
+ "mangledName": "$s12IOTBluetooth25IBHistoryBaseTrainingItemC10targetTypeSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC10targetTypeSivg",
+ "mangledName": "$s12IOTBluetooth25IBHistoryBaseTrainingItemC10targetTypeSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC10targetTypeSivs",
+ "mangledName": "$s12IOTBluetooth25IBHistoryBaseTrainingItemC10targetTypeSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC10targetTypeSivM",
+ "mangledName": "$s12IOTBluetooth25IBHistoryBaseTrainingItemC10targetTypeSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "target",
+ "printedName": "target",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC6targetSivp",
+ "mangledName": "$s12IOTBluetooth25IBHistoryBaseTrainingItemC6targetSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC6targetSivg",
+ "mangledName": "$s12IOTBluetooth25IBHistoryBaseTrainingItemC6targetSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC6targetSivs",
+ "mangledName": "$s12IOTBluetooth25IBHistoryBaseTrainingItemC6targetSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC6targetSivM",
+ "mangledName": "$s12IOTBluetooth25IBHistoryBaseTrainingItemC6targetSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "progress",
+ "printedName": "progress",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC8progressSivp",
+ "mangledName": "$s12IOTBluetooth25IBHistoryBaseTrainingItemC8progressSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC8progressSivg",
+ "mangledName": "$s12IOTBluetooth25IBHistoryBaseTrainingItemC8progressSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC8progressSivs",
+ "mangledName": "$s12IOTBluetooth25IBHistoryBaseTrainingItemC8progressSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC8progressSivM",
+ "mangledName": "$s12IOTBluetooth25IBHistoryBaseTrainingItemC8progressSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "duration",
+ "printedName": "duration",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC8durationSivp",
+ "mangledName": "$s12IOTBluetooth25IBHistoryBaseTrainingItemC8durationSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC8durationSivg",
+ "mangledName": "$s12IOTBluetooth25IBHistoryBaseTrainingItemC8durationSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC8durationSivs",
+ "mangledName": "$s12IOTBluetooth25IBHistoryBaseTrainingItemC8durationSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC8durationSivM",
+ "mangledName": "$s12IOTBluetooth25IBHistoryBaseTrainingItemC8durationSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "calorie",
+ "printedName": "calorie",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC7calorieSiSgvp",
+ "mangledName": "$s12IOTBluetooth25IBHistoryBaseTrainingItemC7calorieSiSgvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC7calorieSiSgvg",
+ "mangledName": "$s12IOTBluetooth25IBHistoryBaseTrainingItemC7calorieSiSgvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC7calorieSiSgvs",
+ "mangledName": "$s12IOTBluetooth25IBHistoryBaseTrainingItemC7calorieSiSgvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC7calorieSiSgvM",
+ "mangledName": "$s12IOTBluetooth25IBHistoryBaseTrainingItemC7calorieSiSgvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "distance",
+ "printedName": "distance",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC8distanceSiSgvp",
+ "mangledName": "$s12IOTBluetooth25IBHistoryBaseTrainingItemC8distanceSiSgvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC8distanceSiSgvg",
+ "mangledName": "$s12IOTBluetooth25IBHistoryBaseTrainingItemC8distanceSiSgvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC8distanceSiSgvs",
+ "mangledName": "$s12IOTBluetooth25IBHistoryBaseTrainingItemC8distanceSiSgvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC8distanceSiSgvM",
+ "mangledName": "$s12IOTBluetooth25IBHistoryBaseTrainingItemC8distanceSiSgvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "heartRate",
+ "printedName": "heartRate",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC9heartRateSivp",
+ "mangledName": "$s12IOTBluetooth25IBHistoryBaseTrainingItemC9heartRateSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC9heartRateSivg",
+ "mangledName": "$s12IOTBluetooth25IBHistoryBaseTrainingItemC9heartRateSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC9heartRateSivs",
+ "mangledName": "$s12IOTBluetooth25IBHistoryBaseTrainingItemC9heartRateSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC9heartRateSivM",
+ "mangledName": "$s12IOTBluetooth25IBHistoryBaseTrainingItemC9heartRateSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "step",
+ "printedName": "step",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC4stepSiSgvp",
+ "mangledName": "$s12IOTBluetooth25IBHistoryBaseTrainingItemC4stepSiSgvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC4stepSiSgvg",
+ "mangledName": "$s12IOTBluetooth25IBHistoryBaseTrainingItemC4stepSiSgvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC4stepSiSgvs",
+ "mangledName": "$s12IOTBluetooth25IBHistoryBaseTrainingItemC4stepSiSgvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC4stepSiSgvM",
+ "mangledName": "$s12IOTBluetooth25IBHistoryBaseTrainingItemC4stepSiSgvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "trainingLevel",
+ "printedName": "trainingLevel",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC13trainingLevelSiSgvp",
+ "mangledName": "$s12IOTBluetooth25IBHistoryBaseTrainingItemC13trainingLevelSiSgvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC13trainingLevelSiSgvg",
+ "mangledName": "$s12IOTBluetooth25IBHistoryBaseTrainingItemC13trainingLevelSiSgvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC13trainingLevelSiSgvs",
+ "mangledName": "$s12IOTBluetooth25IBHistoryBaseTrainingItemC13trainingLevelSiSgvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC13trainingLevelSiSgvM",
+ "mangledName": "$s12IOTBluetooth25IBHistoryBaseTrainingItemC13trainingLevelSiSgvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "circle",
+ "printedName": "circle",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC6circleSiSgvp",
+ "mangledName": "$s12IOTBluetooth25IBHistoryBaseTrainingItemC6circleSiSgvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC6circleSiSgvg",
+ "mangledName": "$s12IOTBluetooth25IBHistoryBaseTrainingItemC6circleSiSgvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC6circleSiSgvs",
+ "mangledName": "$s12IOTBluetooth25IBHistoryBaseTrainingItemC6circleSiSgvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC6circleSiSgvM",
+ "mangledName": "$s12IOTBluetooth25IBHistoryBaseTrainingItemC6circleSiSgvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "elevation",
+ "printedName": "elevation",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC9elevationSiSgvp",
+ "mangledName": "$s12IOTBluetooth25IBHistoryBaseTrainingItemC9elevationSiSgvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC9elevationSiSgvg",
+ "mangledName": "$s12IOTBluetooth25IBHistoryBaseTrainingItemC9elevationSiSgvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC9elevationSiSgvs",
+ "mangledName": "$s12IOTBluetooth25IBHistoryBaseTrainingItemC9elevationSiSgvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC9elevationSiSgvM",
+ "mangledName": "$s12IOTBluetooth25IBHistoryBaseTrainingItemC9elevationSiSgvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(from:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBHistoryBaseTrainingItem",
+ "printedName": "IOTBluetooth.IBHistoryBaseTrainingItem",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Decoder",
+ "printedName": "Swift.Decoder",
+ "usr": "s:s7DecoderP"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC4fromACs7Decoder_p_tKcfc",
+ "mangledName": "$s12IOTBluetooth25IBHistoryBaseTrainingItemC4fromACs7Decoder_p_tKcfc",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "declAttributes": [
+ "Required"
+ ],
+ "throwing": true,
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Function",
+ "name": "encode",
+ "printedName": "encode(to:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Encoder",
+ "printedName": "Swift.Encoder",
+ "usr": "s:s7EncoderP"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC6encode2toys7Encoder_p_tKF",
+ "mangledName": "$s12IOTBluetooth25IBHistoryBaseTrainingItemC6encode2toys7Encoder_p_tKF",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "throwing": true,
+ "funcSelfKind": "NonMutating"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:12IOTBluetooth25IBHistoryBaseTrainingItemC",
+ "mangledName": "$s12IOTBluetooth25IBHistoryBaseTrainingItemC",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasMissingDesignatedInitializers": true,
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Decodable",
+ "printedName": "Decodable",
+ "usr": "s:Se",
+ "mangledName": "$sSe"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Encodable",
+ "printedName": "Encodable",
+ "usr": "s:SE",
+ "mangledName": "$sSE"
+ }
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBTrainingData",
+ "printedName": "IBTrainingData",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "startTime",
+ "printedName": "startTime",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth14IBTrainingDataV9startTimeSivp",
+ "mangledName": "$s12IOTBluetooth14IBTrainingDataV9startTimeSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth14IBTrainingDataV9startTimeSivg",
+ "mangledName": "$s12IOTBluetooth14IBTrainingDataV9startTimeSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "heartRate",
+ "printedName": "heartRate",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth14IBTrainingDataV9heartRateSivp",
+ "mangledName": "$s12IOTBluetooth14IBTrainingDataV9heartRateSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth14IBTrainingDataV9heartRateSivg",
+ "mangledName": "$s12IOTBluetooth14IBTrainingDataV9heartRateSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "calorie",
+ "printedName": "calorie",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth14IBTrainingDataV7calorieSivp",
+ "mangledName": "$s12IOTBluetooth14IBTrainingDataV7calorieSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth14IBTrainingDataV7calorieSivg",
+ "mangledName": "$s12IOTBluetooth14IBTrainingDataV7calorieSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "distance",
+ "printedName": "distance",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth14IBTrainingDataV8distanceSivp",
+ "mangledName": "$s12IOTBluetooth14IBTrainingDataV8distanceSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth14IBTrainingDataV8distanceSivg",
+ "mangledName": "$s12IOTBluetooth14IBTrainingDataV8distanceSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "stepCount",
+ "printedName": "stepCount",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth14IBTrainingDataV9stepCountSivp",
+ "mangledName": "$s12IOTBluetooth14IBTrainingDataV9stepCountSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth14IBTrainingDataV9stepCountSivg",
+ "mangledName": "$s12IOTBluetooth14IBTrainingDataV9stepCountSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "intensity",
+ "printedName": "intensity",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth14IBTrainingDataV9intensitySivp",
+ "mangledName": "$s12IOTBluetooth14IBTrainingDataV9intensitySivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth14IBTrainingDataV9intensitySivg",
+ "mangledName": "$s12IOTBluetooth14IBTrainingDataV9intensitySivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "description",
+ "printedName": "description",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth14IBTrainingDataV11descriptionSSvp",
+ "mangledName": "$s12IOTBluetooth14IBTrainingDataV11descriptionSSvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth14IBTrainingDataV11descriptionSSvg",
+ "mangledName": "$s12IOTBluetooth14IBTrainingDataV11descriptionSSvg",
+ "moduleName": "IOTBluetooth",
+ "accessorKind": "get"
+ }
+ ]
+ }
+ ],
+ "declKind": "Struct",
+ "usr": "s:12IOTBluetooth14IBTrainingDataV",
+ "mangledName": "$s12IOTBluetooth14IBTrainingDataV",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBDeleteFile",
+ "printedName": "IBDeleteFile",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "fileType",
+ "printedName": "fileType",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBFile",
+ "printedName": "IOTBluetooth.IBFile",
+ "usr": "s:12IOTBluetooth6IBFileO"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth12IBDeleteFileC8fileTypeAA6IBFileOvp",
+ "mangledName": "$s12IOTBluetooth12IBDeleteFileC8fileTypeAA6IBFileOvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBFile",
+ "printedName": "IOTBluetooth.IBFile",
+ "usr": "s:12IOTBluetooth6IBFileO"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBDeleteFileC8fileTypeAA6IBFileOvg",
+ "mangledName": "$s12IOTBluetooth12IBDeleteFileC8fileTypeAA6IBFileOvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "IBFile",
+ "printedName": "IOTBluetooth.IBFile",
+ "usr": "s:12IOTBluetooth6IBFileO"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBDeleteFileC8fileTypeAA6IBFileOvs",
+ "mangledName": "$s12IOTBluetooth12IBDeleteFileC8fileTypeAA6IBFileOvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBDeleteFileC8fileTypeAA6IBFileOvM",
+ "mangledName": "$s12IOTBluetooth12IBDeleteFileC8fileTypeAA6IBFileOvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "uids",
+ "printedName": "uids",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[Swift.Int]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth12IBDeleteFileC4uidsSaySiGvp",
+ "mangledName": "$s12IOTBluetooth12IBDeleteFileC4uidsSaySiGvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[Swift.Int]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBDeleteFileC4uidsSaySiGvg",
+ "mangledName": "$s12IOTBluetooth12IBDeleteFileC4uidsSaySiGvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[Swift.Int]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBDeleteFileC4uidsSaySiGvs",
+ "mangledName": "$s12IOTBluetooth12IBDeleteFileC4uidsSaySiGvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBDeleteFileC4uidsSaySiGvM",
+ "mangledName": "$s12IOTBluetooth12IBDeleteFileC4uidsSaySiGvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBDeleteFile",
+ "printedName": "IOTBluetooth.IBDeleteFile",
+ "usr": "s:12IOTBluetooth12IBDeleteFileC"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth12IBDeleteFileCACycfc",
+ "mangledName": "$s12IOTBluetooth12IBDeleteFileCACycfc",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Var",
+ "name": "description",
+ "printedName": "description",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth12IBDeleteFileC11descriptionSSvp",
+ "mangledName": "$s12IOTBluetooth12IBDeleteFileC11descriptionSSvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBDeleteFileC11descriptionSSvg",
+ "mangledName": "$s12IOTBluetooth12IBDeleteFileC11descriptionSSvg",
+ "moduleName": "IOTBluetooth",
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(from:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBDeleteFile",
+ "printedName": "IOTBluetooth.IBDeleteFile",
+ "usr": "s:12IOTBluetooth12IBDeleteFileC"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Decoder",
+ "printedName": "Swift.Decoder",
+ "usr": "s:s7DecoderP"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth12IBDeleteFileC4fromACs7Decoder_p_tKcfc",
+ "mangledName": "$s12IOTBluetooth12IBDeleteFileC4fromACs7Decoder_p_tKcfc",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "declAttributes": [
+ "Required"
+ ],
+ "throwing": true,
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Function",
+ "name": "encode",
+ "printedName": "encode(to:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Encoder",
+ "printedName": "Swift.Encoder",
+ "usr": "s:s7EncoderP"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:12IOTBluetooth12IBDeleteFileC6encode2toys7Encoder_p_tKF",
+ "mangledName": "$s12IOTBluetooth12IBDeleteFileC6encode2toys7Encoder_p_tKF",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "throwing": true,
+ "funcSelfKind": "NonMutating"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:12IOTBluetooth12IBDeleteFileC",
+ "mangledName": "$s12IOTBluetooth12IBDeleteFileC",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Decodable",
+ "printedName": "Decodable",
+ "usr": "s:Se",
+ "mangledName": "$sSe"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Encodable",
+ "printedName": "Encodable",
+ "usr": "s:SE",
+ "mangledName": "$sSE"
+ }
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBTarinState",
+ "printedName": "IBTarinState",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "state",
+ "printedName": "state",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth12IBTarinStateC5stateSivp",
+ "mangledName": "$s12IOTBluetooth12IBTarinStateC5stateSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBTarinStateC5stateSivg",
+ "mangledName": "$s12IOTBluetooth12IBTarinStateC5stateSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBTarinStateC5stateSivs",
+ "mangledName": "$s12IOTBluetooth12IBTarinStateC5stateSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBTarinStateC5stateSivM",
+ "mangledName": "$s12IOTBluetooth12IBTarinStateC5stateSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "duration",
+ "printedName": "duration",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth12IBTarinStateC8durationSivp",
+ "mangledName": "$s12IOTBluetooth12IBTarinStateC8durationSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBTarinStateC8durationSivg",
+ "mangledName": "$s12IOTBluetooth12IBTarinStateC8durationSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBTarinStateC8durationSivs",
+ "mangledName": "$s12IOTBluetooth12IBTarinStateC8durationSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBTarinStateC8durationSivM",
+ "mangledName": "$s12IOTBluetooth12IBTarinStateC8durationSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBTarinState",
+ "printedName": "IOTBluetooth.IBTarinState",
+ "usr": "s:12IOTBluetooth12IBTarinStateC"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth12IBTarinStateCACycfc",
+ "mangledName": "$s12IOTBluetooth12IBTarinStateCACycfc",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Var",
+ "name": "description",
+ "printedName": "description",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth12IBTarinStateC11descriptionSSvp",
+ "mangledName": "$s12IOTBluetooth12IBTarinStateC11descriptionSSvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBTarinStateC11descriptionSSvg",
+ "mangledName": "$s12IOTBluetooth12IBTarinStateC11descriptionSSvg",
+ "moduleName": "IOTBluetooth",
+ "accessorKind": "get"
+ }
+ ]
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:12IOTBluetooth12IBTarinStateC",
+ "mangledName": "$s12IOTBluetooth12IBTarinStateC",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasMissingDesignatedInitializers": true
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBAiValid",
+ "printedName": "IBAiValid",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "isValid",
+ "printedName": "isValid",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Bool",
+ "printedName": "Swift.Bool",
+ "usr": "s:Sb"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAiValidC02isC0Sbvp",
+ "mangledName": "$s12IOTBluetooth9IBAiValidC02isC0Sbvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Bool",
+ "printedName": "Swift.Bool",
+ "usr": "s:Sb"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAiValidC02isC0Sbvg",
+ "mangledName": "$s12IOTBluetooth9IBAiValidC02isC0Sbvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Bool",
+ "printedName": "Swift.Bool",
+ "usr": "s:Sb"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAiValidC02isC0Sbvs",
+ "mangledName": "$s12IOTBluetooth9IBAiValidC02isC0Sbvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAiValidC02isC0SbvM",
+ "mangledName": "$s12IOTBluetooth9IBAiValidC02isC0SbvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "key",
+ "printedName": "key",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAiValidC3keySSSgvp",
+ "mangledName": "$s12IOTBluetooth9IBAiValidC3keySSSgvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAiValidC3keySSSgvg",
+ "mangledName": "$s12IOTBluetooth9IBAiValidC3keySSSgvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAiValidC3keySSSgvs",
+ "mangledName": "$s12IOTBluetooth9IBAiValidC3keySSSgvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAiValidC3keySSSgvM",
+ "mangledName": "$s12IOTBluetooth9IBAiValidC3keySSSgvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAiValid",
+ "printedName": "IOTBluetooth.IBAiValid",
+ "usr": "s:12IOTBluetooth9IBAiValidC"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth9IBAiValidCACycfc",
+ "mangledName": "$s12IOTBluetooth9IBAiValidCACycfc",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Var",
+ "name": "description",
+ "printedName": "description",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAiValidC11descriptionSSvp",
+ "mangledName": "$s12IOTBluetooth9IBAiValidC11descriptionSSvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAiValidC11descriptionSSvg",
+ "mangledName": "$s12IOTBluetooth9IBAiValidC11descriptionSSvg",
+ "moduleName": "IOTBluetooth",
+ "accessorKind": "get"
+ }
+ ]
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:12IOTBluetooth9IBAiValidC",
+ "mangledName": "$s12IOTBluetooth9IBAiValidC",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBUserInfo",
+ "printedName": "IBUserInfo",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "age",
+ "printedName": "age",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth10IBUserInfoC3ageSivp",
+ "mangledName": "$s12IOTBluetooth10IBUserInfoC3ageSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBUserInfoC3ageSivg",
+ "mangledName": "$s12IOTBluetooth10IBUserInfoC3ageSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBUserInfoC3ageSivs",
+ "mangledName": "$s12IOTBluetooth10IBUserInfoC3ageSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBUserInfoC3ageSivM",
+ "mangledName": "$s12IOTBluetooth10IBUserInfoC3ageSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "gender",
+ "printedName": "gender",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth10IBUserInfoC6genderSivp",
+ "mangledName": "$s12IOTBluetooth10IBUserInfoC6genderSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBUserInfoC6genderSivg",
+ "mangledName": "$s12IOTBluetooth10IBUserInfoC6genderSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBUserInfoC6genderSivs",
+ "mangledName": "$s12IOTBluetooth10IBUserInfoC6genderSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBUserInfoC6genderSivM",
+ "mangledName": "$s12IOTBluetooth10IBUserInfoC6genderSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "height",
+ "printedName": "height",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth10IBUserInfoC6heightSivp",
+ "mangledName": "$s12IOTBluetooth10IBUserInfoC6heightSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBUserInfoC6heightSivg",
+ "mangledName": "$s12IOTBluetooth10IBUserInfoC6heightSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBUserInfoC6heightSivs",
+ "mangledName": "$s12IOTBluetooth10IBUserInfoC6heightSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBUserInfoC6heightSivM",
+ "mangledName": "$s12IOTBluetooth10IBUserInfoC6heightSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "weight",
+ "printedName": "weight",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth10IBUserInfoC6weightSivp",
+ "mangledName": "$s12IOTBluetooth10IBUserInfoC6weightSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBUserInfoC6weightSivg",
+ "mangledName": "$s12IOTBluetooth10IBUserInfoC6weightSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBUserInfoC6weightSivs",
+ "mangledName": "$s12IOTBluetooth10IBUserInfoC6weightSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBUserInfoC6weightSivM",
+ "mangledName": "$s12IOTBluetooth10IBUserInfoC6weightSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "step",
+ "printedName": "step",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth10IBUserInfoC4stepSivp",
+ "mangledName": "$s12IOTBluetooth10IBUserInfoC4stepSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBUserInfoC4stepSivg",
+ "mangledName": "$s12IOTBluetooth10IBUserInfoC4stepSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBUserInfoC4stepSivs",
+ "mangledName": "$s12IOTBluetooth10IBUserInfoC4stepSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBUserInfoC4stepSivM",
+ "mangledName": "$s12IOTBluetooth10IBUserInfoC4stepSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "burning",
+ "printedName": "burning",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth10IBUserInfoC7burningSivp",
+ "mangledName": "$s12IOTBluetooth10IBUserInfoC7burningSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBUserInfoC7burningSivg",
+ "mangledName": "$s12IOTBluetooth10IBUserInfoC7burningSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBUserInfoC7burningSivs",
+ "mangledName": "$s12IOTBluetooth10IBUserInfoC7burningSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBUserInfoC7burningSivM",
+ "mangledName": "$s12IOTBluetooth10IBUserInfoC7burningSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "stand",
+ "printedName": "stand",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth10IBUserInfoC5standSivp",
+ "mangledName": "$s12IOTBluetooth10IBUserInfoC5standSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBUserInfoC5standSivg",
+ "mangledName": "$s12IOTBluetooth10IBUserInfoC5standSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBUserInfoC5standSivs",
+ "mangledName": "$s12IOTBluetooth10IBUserInfoC5standSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBUserInfoC5standSivM",
+ "mangledName": "$s12IOTBluetooth10IBUserInfoC5standSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "hourSystem",
+ "printedName": "hourSystem",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth10IBUserInfoC10hourSystemSivp",
+ "mangledName": "$s12IOTBluetooth10IBUserInfoC10hourSystemSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBUserInfoC10hourSystemSivg",
+ "mangledName": "$s12IOTBluetooth10IBUserInfoC10hourSystemSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBUserInfoC10hourSystemSivs",
+ "mangledName": "$s12IOTBluetooth10IBUserInfoC10hourSystemSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBUserInfoC10hourSystemSivM",
+ "mangledName": "$s12IOTBluetooth10IBUserInfoC10hourSystemSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBUserInfo",
+ "printedName": "IOTBluetooth.IBUserInfo",
+ "usr": "s:12IOTBluetooth10IBUserInfoC"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth10IBUserInfoCACycfc",
+ "mangledName": "$s12IOTBluetooth10IBUserInfoCACycfc",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Var",
+ "name": "description",
+ "printedName": "description",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth10IBUserInfoC11descriptionSSvp",
+ "mangledName": "$s12IOTBluetooth10IBUserInfoC11descriptionSSvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBUserInfoC11descriptionSSvg",
+ "mangledName": "$s12IOTBluetooth10IBUserInfoC11descriptionSSvg",
+ "moduleName": "IOTBluetooth",
+ "accessorKind": "get"
+ }
+ ]
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:12IOTBluetooth10IBUserInfoC",
+ "mangledName": "$s12IOTBluetooth10IBUserInfoC",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasMissingDesignatedInitializers": true
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBHistoryHeartRateItem",
+ "printedName": "IBHistoryHeartRateItem",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "time",
+ "printedName": "time",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth22IBHistoryHeartRateItemC4timeSivp",
+ "mangledName": "$s12IOTBluetooth22IBHistoryHeartRateItemC4timeSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth22IBHistoryHeartRateItemC4timeSivg",
+ "mangledName": "$s12IOTBluetooth22IBHistoryHeartRateItemC4timeSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth22IBHistoryHeartRateItemC4timeSivs",
+ "mangledName": "$s12IOTBluetooth22IBHistoryHeartRateItemC4timeSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth22IBHistoryHeartRateItemC4timeSivM",
+ "mangledName": "$s12IOTBluetooth22IBHistoryHeartRateItemC4timeSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "value",
+ "printedName": "value",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth22IBHistoryHeartRateItemC5valueSivp",
+ "mangledName": "$s12IOTBluetooth22IBHistoryHeartRateItemC5valueSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth22IBHistoryHeartRateItemC5valueSivg",
+ "mangledName": "$s12IOTBluetooth22IBHistoryHeartRateItemC5valueSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth22IBHistoryHeartRateItemC5valueSivs",
+ "mangledName": "$s12IOTBluetooth22IBHistoryHeartRateItemC5valueSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth22IBHistoryHeartRateItemC5valueSivM",
+ "mangledName": "$s12IOTBluetooth22IBHistoryHeartRateItemC5valueSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBHistoryHeartRateItem",
+ "printedName": "IOTBluetooth.IBHistoryHeartRateItem",
+ "usr": "s:12IOTBluetooth22IBHistoryHeartRateItemC"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth22IBHistoryHeartRateItemCACycfc",
+ "mangledName": "$s12IOTBluetooth22IBHistoryHeartRateItemCACycfc",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "init_kind": "Designated"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:12IOTBluetooth22IBHistoryHeartRateItemC",
+ "mangledName": "$s12IOTBluetooth22IBHistoryHeartRateItemC",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBHistoryBloodOxygenItem",
+ "printedName": "IBHistoryBloodOxygenItem",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "time",
+ "printedName": "time",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth24IBHistoryBloodOxygenItemC4timeSivp",
+ "mangledName": "$s12IOTBluetooth24IBHistoryBloodOxygenItemC4timeSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth24IBHistoryBloodOxygenItemC4timeSivg",
+ "mangledName": "$s12IOTBluetooth24IBHistoryBloodOxygenItemC4timeSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth24IBHistoryBloodOxygenItemC4timeSivs",
+ "mangledName": "$s12IOTBluetooth24IBHistoryBloodOxygenItemC4timeSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth24IBHistoryBloodOxygenItemC4timeSivM",
+ "mangledName": "$s12IOTBluetooth24IBHistoryBloodOxygenItemC4timeSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "value",
+ "printedName": "value",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth24IBHistoryBloodOxygenItemC5valueSivp",
+ "mangledName": "$s12IOTBluetooth24IBHistoryBloodOxygenItemC5valueSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth24IBHistoryBloodOxygenItemC5valueSivg",
+ "mangledName": "$s12IOTBluetooth24IBHistoryBloodOxygenItemC5valueSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth24IBHistoryBloodOxygenItemC5valueSivs",
+ "mangledName": "$s12IOTBluetooth24IBHistoryBloodOxygenItemC5valueSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth24IBHistoryBloodOxygenItemC5valueSivM",
+ "mangledName": "$s12IOTBluetooth24IBHistoryBloodOxygenItemC5valueSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBHistoryBloodOxygenItem",
+ "printedName": "IOTBluetooth.IBHistoryBloodOxygenItem",
+ "usr": "s:12IOTBluetooth24IBHistoryBloodOxygenItemC"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth24IBHistoryBloodOxygenItemCACycfc",
+ "mangledName": "$s12IOTBluetooth24IBHistoryBloodOxygenItemCACycfc",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "init_kind": "Designated"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:12IOTBluetooth24IBHistoryBloodOxygenItemC",
+ "mangledName": "$s12IOTBluetooth24IBHistoryBloodOxygenItemC",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBNotify",
+ "printedName": "IBNotify",
+ "children": [
+ {
+ "kind": "TypeDecl",
+ "name": "Name",
+ "printedName": "Name",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "connectStateDidChange",
+ "printedName": "connectStateDidChange",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Name",
+ "printedName": "IOTBluetooth.IBNotify.Name",
+ "usr": "s:12IOTBluetooth8IBNotifyC4NameV"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth8IBNotifyC4NameV21connectStateDidChangeAEvpZ",
+ "mangledName": "$s12IOTBluetooth8IBNotifyC4NameV21connectStateDidChangeAEvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Name",
+ "printedName": "IOTBluetooth.IBNotify.Name",
+ "usr": "s:12IOTBluetooth8IBNotifyC4NameV"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth8IBNotifyC4NameV21connectStateDidChangeAEvgZ",
+ "mangledName": "$s12IOTBluetooth8IBNotifyC4NameV21connectStateDidChangeAEvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "takePhoto",
+ "printedName": "takePhoto",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Name",
+ "printedName": "IOTBluetooth.IBNotify.Name",
+ "usr": "s:12IOTBluetooth8IBNotifyC4NameV"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth8IBNotifyC4NameV9takePhotoAEvpZ",
+ "mangledName": "$s12IOTBluetooth8IBNotifyC4NameV9takePhotoAEvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Name",
+ "printedName": "IOTBluetooth.IBNotify.Name",
+ "usr": "s:12IOTBluetooth8IBNotifyC4NameV"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth8IBNotifyC4NameV9takePhotoAEvgZ",
+ "mangledName": "$s12IOTBluetooth8IBNotifyC4NameV9takePhotoAEvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "weather",
+ "printedName": "weather",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Name",
+ "printedName": "IOTBluetooth.IBNotify.Name",
+ "usr": "s:12IOTBluetooth8IBNotifyC4NameV"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth8IBNotifyC4NameV7weatherAEvpZ",
+ "mangledName": "$s12IOTBluetooth8IBNotifyC4NameV7weatherAEvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Name",
+ "printedName": "IOTBluetooth.IBNotify.Name",
+ "usr": "s:12IOTBluetooth8IBNotifyC4NameV"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth8IBNotifyC4NameV7weatherAEvgZ",
+ "mangledName": "$s12IOTBluetooth8IBNotifyC4NameV7weatherAEvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "didFindDevice",
+ "printedName": "didFindDevice",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Name",
+ "printedName": "IOTBluetooth.IBNotify.Name",
+ "usr": "s:12IOTBluetooth8IBNotifyC4NameV"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth8IBNotifyC4NameV13didFindDeviceAEvpZ",
+ "mangledName": "$s12IOTBluetooth8IBNotifyC4NameV13didFindDeviceAEvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Name",
+ "printedName": "IOTBluetooth.IBNotify.Name",
+ "usr": "s:12IOTBluetooth8IBNotifyC4NameV"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth8IBNotifyC4NameV13didFindDeviceAEvgZ",
+ "mangledName": "$s12IOTBluetooth8IBNotifyC4NameV13didFindDeviceAEvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "trainStateDidChanged",
+ "printedName": "trainStateDidChanged",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Name",
+ "printedName": "IOTBluetooth.IBNotify.Name",
+ "usr": "s:12IOTBluetooth8IBNotifyC4NameV"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth8IBNotifyC4NameV20trainStateDidChangedAEvpZ",
+ "mangledName": "$s12IOTBluetooth8IBNotifyC4NameV20trainStateDidChangedAEvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Name",
+ "printedName": "IOTBluetooth.IBNotify.Name",
+ "usr": "s:12IOTBluetooth8IBNotifyC4NameV"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth8IBNotifyC4NameV20trainStateDidChangedAEvgZ",
+ "mangledName": "$s12IOTBluetooth8IBNotifyC4NameV20trainStateDidChangedAEvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "trainingData",
+ "printedName": "trainingData",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Name",
+ "printedName": "IOTBluetooth.IBNotify.Name",
+ "usr": "s:12IOTBluetooth8IBNotifyC4NameV"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth8IBNotifyC4NameV12trainingDataAEvpZ",
+ "mangledName": "$s12IOTBluetooth8IBNotifyC4NameV12trainingDataAEvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Name",
+ "printedName": "IOTBluetooth.IBNotify.Name",
+ "usr": "s:12IOTBluetooth8IBNotifyC4NameV"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth8IBNotifyC4NameV12trainingDataAEvgZ",
+ "mangledName": "$s12IOTBluetooth8IBNotifyC4NameV12trainingDataAEvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ }
+ ],
+ "declKind": "Struct",
+ "usr": "s:12IOTBluetooth8IBNotifyC4NameV",
+ "mangledName": "$s12IOTBluetooth8IBNotifyC4NameV",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "isFromExtension": true
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:12IOTBluetooth8IBNotifyC",
+ "mangledName": "$s12IOTBluetooth8IBNotifyC",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "hasMissingDesignatedInitializers": true
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBCode",
+ "printedName": "IBCode",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "description",
+ "printedName": "description",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth6IBCodeO11descriptionSSvp",
+ "mangledName": "$s12IOTBluetooth6IBCodeO11descriptionSSvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth6IBCodeO11descriptionSSvg",
+ "mangledName": "$s12IOTBluetooth6IBCodeO11descriptionSSvg",
+ "moduleName": "IOTBluetooth",
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "success",
+ "printedName": "success",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBCode.Type) -> IOTBluetooth.IBCode",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBCode",
+ "printedName": "IOTBluetooth.IBCode",
+ "usr": "s:12IOTBluetooth6IBCodeO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBCode.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBCode",
+ "printedName": "IOTBluetooth.IBCode",
+ "usr": "s:12IOTBluetooth6IBCodeO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth6IBCodeO7successyA2CmF",
+ "mangledName": "$s12IOTBluetooth6IBCodeO7successyA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "failure",
+ "printedName": "failure",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBCode.Type) -> IOTBluetooth.IBCode",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBCode",
+ "printedName": "IOTBluetooth.IBCode",
+ "usr": "s:12IOTBluetooth6IBCodeO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBCode.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBCode",
+ "printedName": "IOTBluetooth.IBCode",
+ "usr": "s:12IOTBluetooth6IBCodeO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth6IBCodeO7failureyA2CmF",
+ "mangledName": "$s12IOTBluetooth6IBCodeO7failureyA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "invalidParam",
+ "printedName": "invalidParam",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBCode.Type) -> IOTBluetooth.IBCode",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBCode",
+ "printedName": "IOTBluetooth.IBCode",
+ "usr": "s:12IOTBluetooth6IBCodeO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBCode.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBCode",
+ "printedName": "IOTBluetooth.IBCode",
+ "usr": "s:12IOTBluetooth6IBCodeO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth6IBCodeO12invalidParamyA2CmF",
+ "mangledName": "$s12IOTBluetooth6IBCodeO12invalidParamyA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "parseError",
+ "printedName": "parseError",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBCode.Type) -> IOTBluetooth.IBCode",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBCode",
+ "printedName": "IOTBluetooth.IBCode",
+ "usr": "s:12IOTBluetooth6IBCodeO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBCode.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBCode",
+ "printedName": "IOTBluetooth.IBCode",
+ "usr": "s:12IOTBluetooth6IBCodeO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth6IBCodeO10parseErroryA2CmF",
+ "mangledName": "$s12IOTBluetooth6IBCodeO10parseErroryA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "timeout",
+ "printedName": "timeout",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBCode.Type) -> IOTBluetooth.IBCode",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBCode",
+ "printedName": "IOTBluetooth.IBCode",
+ "usr": "s:12IOTBluetooth6IBCodeO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBCode.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBCode",
+ "printedName": "IOTBluetooth.IBCode",
+ "usr": "s:12IOTBluetooth6IBCodeO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth6IBCodeO7timeoutyA2CmF",
+ "mangledName": "$s12IOTBluetooth6IBCodeO7timeoutyA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "unknow",
+ "printedName": "unknow",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBCode.Type) -> IOTBluetooth.IBCode",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBCode",
+ "printedName": "IOTBluetooth.IBCode",
+ "usr": "s:12IOTBluetooth6IBCodeO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBCode.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBCode",
+ "printedName": "IOTBluetooth.IBCode",
+ "usr": "s:12IOTBluetooth6IBCodeO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth6IBCodeO6unknowyA2CmF",
+ "mangledName": "$s12IOTBluetooth6IBCodeO6unknowyA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "rawValue",
+ "printedName": "rawValue",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth6IBCodeO8rawValueSivp",
+ "mangledName": "$s12IOTBluetooth6IBCodeO8rawValueSivp",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth6IBCodeO8rawValueSivg",
+ "mangledName": "$s12IOTBluetooth6IBCodeO8rawValueSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(rawValue:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "IOTBluetooth.IBCode?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBCode",
+ "printedName": "IOTBluetooth.IBCode",
+ "usr": "s:12IOTBluetooth6IBCodeO"
+ }
+ ],
+ "usr": "s:Sq"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth6IBCodeO8rawValueACSgSi_tcfc",
+ "mangledName": "$s12IOTBluetooth6IBCodeO8rawValueACSgSi_tcfc",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "init_kind": "Designated"
+ }
+ ],
+ "declKind": "Enum",
+ "usr": "s:12IOTBluetooth6IBCodeO",
+ "mangledName": "$s12IOTBluetooth6IBCodeO",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "enumRawTypeName": "Int",
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Equatable",
+ "printedName": "Equatable",
+ "usr": "s:SQ",
+ "mangledName": "$sSQ"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Hashable",
+ "printedName": "Hashable",
+ "usr": "s:SH",
+ "mangledName": "$sSH"
+ },
+ {
+ "kind": "Conformance",
+ "name": "RawRepresentable",
+ "printedName": "RawRepresentable",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "RawValue",
+ "printedName": "RawValue",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ]
+ }
+ ],
+ "usr": "s:SY",
+ "mangledName": "$sSY"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CustomStringConvertible",
+ "printedName": "CustomStringConvertible",
+ "usr": "s:s23CustomStringConvertibleP",
+ "mangledName": "$ss23CustomStringConvertibleP"
+ }
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBFetchFile",
+ "printedName": "IBFetchFile",
+ "children": [
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBFetchFile",
+ "printedName": "IOTBluetooth.IBFetchFile",
+ "usr": "s:12IOTBluetooth11IBFetchFileC"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth11IBFetchFileCACycfc",
+ "mangledName": "$s12IOTBluetooth11IBFetchFileCACycfc",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(from:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBFetchFile",
+ "printedName": "IOTBluetooth.IBFetchFile",
+ "usr": "s:12IOTBluetooth11IBFetchFileC"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Decoder",
+ "printedName": "Swift.Decoder",
+ "usr": "s:s7DecoderP"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth11IBFetchFileC4fromACs7Decoder_p_tKcfc",
+ "mangledName": "$s12IOTBluetooth11IBFetchFileC4fromACs7Decoder_p_tKcfc",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "declAttributes": [
+ "Required"
+ ],
+ "throwing": true,
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Function",
+ "name": "encode",
+ "printedName": "encode(to:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Encoder",
+ "printedName": "Swift.Encoder",
+ "usr": "s:s7EncoderP"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:12IOTBluetooth11IBFetchFileC6encode2toys7Encoder_p_tKF",
+ "mangledName": "$s12IOTBluetooth11IBFetchFileC6encode2toys7Encoder_p_tKF",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "throwing": true,
+ "funcSelfKind": "NonMutating"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:12IOTBluetooth11IBFetchFileC",
+ "mangledName": "$s12IOTBluetooth11IBFetchFileC",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasMissingDesignatedInitializers": true,
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Decodable",
+ "printedName": "Decodable",
+ "usr": "s:Se",
+ "mangledName": "$sSe"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Encodable",
+ "printedName": "Encodable",
+ "usr": "s:SE",
+ "mangledName": "$sSE"
+ }
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBFetchDialItem",
+ "printedName": "IBFetchDialItem",
+ "children": [
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBFetchDialItem",
+ "printedName": "IOTBluetooth.IBFetchDialItem",
+ "usr": "s:12IOTBluetooth15IBFetchDialItemC"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth15IBFetchDialItemCACycfc",
+ "mangledName": "$s12IOTBluetooth15IBFetchDialItemCACycfc",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(from:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBFetchDialItem",
+ "printedName": "IOTBluetooth.IBFetchDialItem",
+ "usr": "s:12IOTBluetooth15IBFetchDialItemC"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Decoder",
+ "printedName": "Swift.Decoder",
+ "usr": "s:s7DecoderP"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth15IBFetchDialItemC4fromACs7Decoder_p_tKcfc",
+ "mangledName": "$s12IOTBluetooth15IBFetchDialItemC4fromACs7Decoder_p_tKcfc",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "declAttributes": [
+ "Required"
+ ],
+ "throwing": true,
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Function",
+ "name": "encode",
+ "printedName": "encode(to:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Encoder",
+ "printedName": "Swift.Encoder",
+ "usr": "s:s7EncoderP"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:12IOTBluetooth15IBFetchDialItemC6encode2toys7Encoder_p_tKF",
+ "mangledName": "$s12IOTBluetooth15IBFetchDialItemC6encode2toys7Encoder_p_tKF",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "throwing": true,
+ "funcSelfKind": "NonMutating"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:12IOTBluetooth15IBFetchDialItemC",
+ "mangledName": "$s12IOTBluetooth15IBFetchDialItemC",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Decodable",
+ "printedName": "Decodable",
+ "usr": "s:Se",
+ "mangledName": "$sSe"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Encodable",
+ "printedName": "Encodable",
+ "usr": "s:SE",
+ "mangledName": "$sSE"
+ }
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBFetchMp3Item",
+ "printedName": "IBFetchMp3Item",
+ "children": [
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBFetchMp3Item",
+ "printedName": "IOTBluetooth.IBFetchMp3Item",
+ "usr": "s:12IOTBluetooth14IBFetchMp3ItemC"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth14IBFetchMp3ItemCACycfc",
+ "mangledName": "$s12IOTBluetooth14IBFetchMp3ItemCACycfc",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(from:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBFetchMp3Item",
+ "printedName": "IOTBluetooth.IBFetchMp3Item",
+ "usr": "s:12IOTBluetooth14IBFetchMp3ItemC"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Decoder",
+ "printedName": "Swift.Decoder",
+ "usr": "s:s7DecoderP"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth14IBFetchMp3ItemC4fromACs7Decoder_p_tKcfc",
+ "mangledName": "$s12IOTBluetooth14IBFetchMp3ItemC4fromACs7Decoder_p_tKcfc",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "declAttributes": [
+ "Required"
+ ],
+ "throwing": true,
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Function",
+ "name": "encode",
+ "printedName": "encode(to:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Encoder",
+ "printedName": "Swift.Encoder",
+ "usr": "s:s7EncoderP"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:12IOTBluetooth14IBFetchMp3ItemC6encode2toys7Encoder_p_tKF",
+ "mangledName": "$s12IOTBluetooth14IBFetchMp3ItemC6encode2toys7Encoder_p_tKF",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "throwing": true,
+ "funcSelfKind": "NonMutating"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:12IOTBluetooth14IBFetchMp3ItemC",
+ "mangledName": "$s12IOTBluetooth14IBFetchMp3ItemC",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Decodable",
+ "printedName": "Decodable",
+ "usr": "s:Se",
+ "mangledName": "$sSe"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Encodable",
+ "printedName": "Encodable",
+ "usr": "s:SE",
+ "mangledName": "$sSE"
+ }
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBTrainTarget",
+ "printedName": "IBTrainTarget",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "type",
+ "printedName": "type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBTrainTargetType",
+ "printedName": "IOTBluetooth.IBTrainTargetType",
+ "usr": "s:12IOTBluetooth17IBTrainTargetTypeO"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth13IBTrainTargetC4typeAA0bC4TypeOvp",
+ "mangledName": "$s12IOTBluetooth13IBTrainTargetC4typeAA0bC4TypeOvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBTrainTargetType",
+ "printedName": "IOTBluetooth.IBTrainTargetType",
+ "usr": "s:12IOTBluetooth17IBTrainTargetTypeO"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBTrainTargetC4typeAA0bC4TypeOvg",
+ "mangledName": "$s12IOTBluetooth13IBTrainTargetC4typeAA0bC4TypeOvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "IBTrainTargetType",
+ "printedName": "IOTBluetooth.IBTrainTargetType",
+ "usr": "s:12IOTBluetooth17IBTrainTargetTypeO"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBTrainTargetC4typeAA0bC4TypeOvs",
+ "mangledName": "$s12IOTBluetooth13IBTrainTargetC4typeAA0bC4TypeOvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBTrainTargetC4typeAA0bC4TypeOvM",
+ "mangledName": "$s12IOTBluetooth13IBTrainTargetC4typeAA0bC4TypeOvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "distance",
+ "printedName": "distance",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth13IBTrainTargetC8distanceSiSgvp",
+ "mangledName": "$s12IOTBluetooth13IBTrainTargetC8distanceSiSgvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBTrainTargetC8distanceSiSgvg",
+ "mangledName": "$s12IOTBluetooth13IBTrainTargetC8distanceSiSgvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBTrainTargetC8distanceSiSgvs",
+ "mangledName": "$s12IOTBluetooth13IBTrainTargetC8distanceSiSgvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBTrainTargetC8distanceSiSgvM",
+ "mangledName": "$s12IOTBluetooth13IBTrainTargetC8distanceSiSgvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "calorie",
+ "printedName": "calorie",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth13IBTrainTargetC7calorieSiSgvp",
+ "mangledName": "$s12IOTBluetooth13IBTrainTargetC7calorieSiSgvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBTrainTargetC7calorieSiSgvg",
+ "mangledName": "$s12IOTBluetooth13IBTrainTargetC7calorieSiSgvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBTrainTargetC7calorieSiSgvs",
+ "mangledName": "$s12IOTBluetooth13IBTrainTargetC7calorieSiSgvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBTrainTargetC7calorieSiSgvM",
+ "mangledName": "$s12IOTBluetooth13IBTrainTargetC7calorieSiSgvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "time",
+ "printedName": "time",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth13IBTrainTargetC4timeSiSgvp",
+ "mangledName": "$s12IOTBluetooth13IBTrainTargetC4timeSiSgvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBTrainTargetC4timeSiSgvg",
+ "mangledName": "$s12IOTBluetooth13IBTrainTargetC4timeSiSgvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBTrainTargetC4timeSiSgvs",
+ "mangledName": "$s12IOTBluetooth13IBTrainTargetC4timeSiSgvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBTrainTargetC4timeSiSgvM",
+ "mangledName": "$s12IOTBluetooth13IBTrainTargetC4timeSiSgvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "step",
+ "printedName": "step",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth13IBTrainTargetC4stepSiSgvp",
+ "mangledName": "$s12IOTBluetooth13IBTrainTargetC4stepSiSgvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBTrainTargetC4stepSiSgvg",
+ "mangledName": "$s12IOTBluetooth13IBTrainTargetC4stepSiSgvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBTrainTargetC4stepSiSgvs",
+ "mangledName": "$s12IOTBluetooth13IBTrainTargetC4stepSiSgvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBTrainTargetC4stepSiSgvM",
+ "mangledName": "$s12IOTBluetooth13IBTrainTargetC4stepSiSgvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBTrainTarget",
+ "printedName": "IOTBluetooth.IBTrainTarget",
+ "usr": "s:12IOTBluetooth13IBTrainTargetC"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth13IBTrainTargetCACycfc",
+ "mangledName": "$s12IOTBluetooth13IBTrainTargetCACycfc",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Function",
+ "name": "encode",
+ "printedName": "encode(to:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Encoder",
+ "printedName": "Swift.Encoder",
+ "usr": "s:s7EncoderP"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:12IOTBluetooth13IBTrainTargetC6encode2toys7Encoder_p_tKF",
+ "mangledName": "$s12IOTBluetooth13IBTrainTargetC6encode2toys7Encoder_p_tKF",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "throwing": true,
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(from:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBTrainTarget",
+ "printedName": "IOTBluetooth.IBTrainTarget",
+ "usr": "s:12IOTBluetooth13IBTrainTargetC"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Decoder",
+ "printedName": "Swift.Decoder",
+ "usr": "s:s7DecoderP"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth13IBTrainTargetC4fromACs7Decoder_p_tKcfc",
+ "mangledName": "$s12IOTBluetooth13IBTrainTargetC4fromACs7Decoder_p_tKcfc",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "declAttributes": [
+ "Required"
+ ],
+ "throwing": true,
+ "init_kind": "Designated"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:12IOTBluetooth13IBTrainTargetC",
+ "mangledName": "$s12IOTBluetooth13IBTrainTargetC",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Decodable",
+ "printedName": "Decodable",
+ "usr": "s:Se",
+ "mangledName": "$sSe"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Encodable",
+ "printedName": "Encodable",
+ "usr": "s:SE",
+ "mangledName": "$sSE"
+ }
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBTrainTargetType",
+ "printedName": "IBTrainTargetType",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "distance",
+ "printedName": "distance",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBTrainTargetType.Type) -> IOTBluetooth.IBTrainTargetType",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBTrainTargetType",
+ "printedName": "IOTBluetooth.IBTrainTargetType",
+ "usr": "s:12IOTBluetooth17IBTrainTargetTypeO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBTrainTargetType.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBTrainTargetType",
+ "printedName": "IOTBluetooth.IBTrainTargetType",
+ "usr": "s:12IOTBluetooth17IBTrainTargetTypeO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth17IBTrainTargetTypeO8distanceyA2CmF",
+ "mangledName": "$s12IOTBluetooth17IBTrainTargetTypeO8distanceyA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "calorie",
+ "printedName": "calorie",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBTrainTargetType.Type) -> IOTBluetooth.IBTrainTargetType",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBTrainTargetType",
+ "printedName": "IOTBluetooth.IBTrainTargetType",
+ "usr": "s:12IOTBluetooth17IBTrainTargetTypeO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBTrainTargetType.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBTrainTargetType",
+ "printedName": "IOTBluetooth.IBTrainTargetType",
+ "usr": "s:12IOTBluetooth17IBTrainTargetTypeO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth17IBTrainTargetTypeO7calorieyA2CmF",
+ "mangledName": "$s12IOTBluetooth17IBTrainTargetTypeO7calorieyA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "time",
+ "printedName": "time",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBTrainTargetType.Type) -> IOTBluetooth.IBTrainTargetType",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBTrainTargetType",
+ "printedName": "IOTBluetooth.IBTrainTargetType",
+ "usr": "s:12IOTBluetooth17IBTrainTargetTypeO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBTrainTargetType.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBTrainTargetType",
+ "printedName": "IOTBluetooth.IBTrainTargetType",
+ "usr": "s:12IOTBluetooth17IBTrainTargetTypeO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth17IBTrainTargetTypeO4timeyA2CmF",
+ "mangledName": "$s12IOTBluetooth17IBTrainTargetTypeO4timeyA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "step",
+ "printedName": "step",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBTrainTargetType.Type) -> IOTBluetooth.IBTrainTargetType",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBTrainTargetType",
+ "printedName": "IOTBluetooth.IBTrainTargetType",
+ "usr": "s:12IOTBluetooth17IBTrainTargetTypeO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBTrainTargetType.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBTrainTargetType",
+ "printedName": "IOTBluetooth.IBTrainTargetType",
+ "usr": "s:12IOTBluetooth17IBTrainTargetTypeO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth17IBTrainTargetTypeO4stepyA2CmF",
+ "mangledName": "$s12IOTBluetooth17IBTrainTargetTypeO4stepyA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(rawValue:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "IOTBluetooth.IBTrainTargetType?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBTrainTargetType",
+ "printedName": "IOTBluetooth.IBTrainTargetType",
+ "usr": "s:12IOTBluetooth17IBTrainTargetTypeO"
+ }
+ ],
+ "usr": "s:Sq"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth17IBTrainTargetTypeO8rawValueACSgSi_tcfc",
+ "mangledName": "$s12IOTBluetooth17IBTrainTargetTypeO8rawValueACSgSi_tcfc",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Var",
+ "name": "rawValue",
+ "printedName": "rawValue",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth17IBTrainTargetTypeO8rawValueSivp",
+ "mangledName": "$s12IOTBluetooth17IBTrainTargetTypeO8rawValueSivp",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth17IBTrainTargetTypeO8rawValueSivg",
+ "mangledName": "$s12IOTBluetooth17IBTrainTargetTypeO8rawValueSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ }
+ ]
+ }
+ ],
+ "declKind": "Enum",
+ "usr": "s:12IOTBluetooth17IBTrainTargetTypeO",
+ "mangledName": "$s12IOTBluetooth17IBTrainTargetTypeO",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "enumRawTypeName": "Int",
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Equatable",
+ "printedName": "Equatable",
+ "usr": "s:SQ",
+ "mangledName": "$sSQ"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Hashable",
+ "printedName": "Hashable",
+ "usr": "s:SH",
+ "mangledName": "$sSH"
+ },
+ {
+ "kind": "Conformance",
+ "name": "RawRepresentable",
+ "printedName": "RawRepresentable",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "RawValue",
+ "printedName": "RawValue",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ]
+ }
+ ],
+ "usr": "s:SY",
+ "mangledName": "$sSY"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Decodable",
+ "printedName": "Decodable",
+ "usr": "s:Se",
+ "mangledName": "$sSe"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Encodable",
+ "printedName": "Encodable",
+ "usr": "s:SE",
+ "mangledName": "$sSE"
+ }
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBSender",
+ "printedName": "IBSender",
+ "children": [
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBSender",
+ "printedName": "IOTBluetooth.IBSender",
+ "usr": "s:12IOTBluetooth8IBSenderC"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth8IBSenderCACycfc",
+ "mangledName": "$s12IOTBluetooth8IBSenderCACycfc",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Function",
+ "name": "ability",
+ "printedName": "ability(_:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "DynamicSelf",
+ "printedName": "Self"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:12IOTBluetooth8IBSenderC7abilityyACXDAA9IBAbilityCF",
+ "mangledName": "$s12IOTBluetooth8IBSenderC7abilityyACXDAA9IBAbilityCF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "DiscardableResult",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Function",
+ "name": "parameters",
+ "printedName": "parameters(_:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "DynamicSelf",
+ "printedName": "Self"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[IOTBluetooth.IBParameter]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBParameter",
+ "printedName": "IOTBluetooth.IBParameter",
+ "usr": "s:12IOTBluetooth11IBParameterO"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:12IOTBluetooth8IBSenderC10parametersyACXDSayAA11IBParameterOGF",
+ "mangledName": "$s12IOTBluetooth8IBSenderC10parametersyACXDSayAA11IBParameterOGF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "DiscardableResult",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Function",
+ "name": "response",
+ "printedName": "response(_:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "DynamicSelf",
+ "printedName": "Self"
+ },
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBResponse) -> ()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "IBResponse",
+ "printedName": "IOTBluetooth.IBResponse",
+ "usr": "s:12IOTBluetooth10IBResponseC"
+ }
+ ]
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:12IOTBluetooth8IBSenderC8responseyACXDyAA10IBResponseCcF",
+ "mangledName": "$s12IOTBluetooth8IBSenderC8responseyACXDyAA10IBResponseCcF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "DiscardableResult",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "funcSelfKind": "NonMutating"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:12IOTBluetooth8IBSenderC",
+ "mangledName": "$s12IOTBluetooth8IBSenderC",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBHistoryGps",
+ "printedName": "IBHistoryGps",
+ "declKind": "Class",
+ "usr": "s:12IOTBluetooth12IBHistoryGpsC",
+ "mangledName": "$s12IOTBluetooth12IBHistoryGpsC",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasMissingDesignatedInitializers": true
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBHistoryGpsItem",
+ "printedName": "IBHistoryGpsItem",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "time",
+ "printedName": "time",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth16IBHistoryGpsItemC4timeSivp",
+ "mangledName": "$s12IOTBluetooth16IBHistoryGpsItemC4timeSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth16IBHistoryGpsItemC4timeSivg",
+ "mangledName": "$s12IOTBluetooth16IBHistoryGpsItemC4timeSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth16IBHistoryGpsItemC4timeSivs",
+ "mangledName": "$s12IOTBluetooth16IBHistoryGpsItemC4timeSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth16IBHistoryGpsItemC4timeSivM",
+ "mangledName": "$s12IOTBluetooth16IBHistoryGpsItemC4timeSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "lat",
+ "printedName": "lat",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth16IBHistoryGpsItemC3latSivp",
+ "mangledName": "$s12IOTBluetooth16IBHistoryGpsItemC3latSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth16IBHistoryGpsItemC3latSivg",
+ "mangledName": "$s12IOTBluetooth16IBHistoryGpsItemC3latSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth16IBHistoryGpsItemC3latSivs",
+ "mangledName": "$s12IOTBluetooth16IBHistoryGpsItemC3latSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth16IBHistoryGpsItemC3latSivM",
+ "mangledName": "$s12IOTBluetooth16IBHistoryGpsItemC3latSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "lon",
+ "printedName": "lon",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth16IBHistoryGpsItemC3lonSivp",
+ "mangledName": "$s12IOTBluetooth16IBHistoryGpsItemC3lonSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth16IBHistoryGpsItemC3lonSivg",
+ "mangledName": "$s12IOTBluetooth16IBHistoryGpsItemC3lonSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth16IBHistoryGpsItemC3lonSivs",
+ "mangledName": "$s12IOTBluetooth16IBHistoryGpsItemC3lonSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth16IBHistoryGpsItemC3lonSivM",
+ "mangledName": "$s12IOTBluetooth16IBHistoryGpsItemC3lonSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBHistoryGpsItem",
+ "printedName": "IOTBluetooth.IBHistoryGpsItem",
+ "usr": "s:12IOTBluetooth16IBHistoryGpsItemC"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth16IBHistoryGpsItemCACycfc",
+ "mangledName": "$s12IOTBluetooth16IBHistoryGpsItemCACycfc",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "init_kind": "Designated"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:12IOTBluetooth16IBHistoryGpsItemC",
+ "mangledName": "$s12IOTBluetooth16IBHistoryGpsItemC",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBHistoryBurningItem",
+ "printedName": "IBHistoryBurningItem",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "time",
+ "printedName": "time",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth20IBHistoryBurningItemC4timeSivp",
+ "mangledName": "$s12IOTBluetooth20IBHistoryBurningItemC4timeSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth20IBHistoryBurningItemC4timeSivg",
+ "mangledName": "$s12IOTBluetooth20IBHistoryBurningItemC4timeSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth20IBHistoryBurningItemC4timeSivs",
+ "mangledName": "$s12IOTBluetooth20IBHistoryBurningItemC4timeSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth20IBHistoryBurningItemC4timeSivM",
+ "mangledName": "$s12IOTBluetooth20IBHistoryBurningItemC4timeSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "value",
+ "printedName": "value",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth20IBHistoryBurningItemC5valueSivp",
+ "mangledName": "$s12IOTBluetooth20IBHistoryBurningItemC5valueSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth20IBHistoryBurningItemC5valueSivg",
+ "mangledName": "$s12IOTBluetooth20IBHistoryBurningItemC5valueSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth20IBHistoryBurningItemC5valueSivs",
+ "mangledName": "$s12IOTBluetooth20IBHistoryBurningItemC5valueSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth20IBHistoryBurningItemC5valueSivM",
+ "mangledName": "$s12IOTBluetooth20IBHistoryBurningItemC5valueSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBHistoryBurningItem",
+ "printedName": "IOTBluetooth.IBHistoryBurningItem",
+ "usr": "s:12IOTBluetooth20IBHistoryBurningItemC"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth20IBHistoryBurningItemCACycfc",
+ "mangledName": "$s12IOTBluetooth20IBHistoryBurningItemCACycfc",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "init_kind": "Designated"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:12IOTBluetooth20IBHistoryBurningItemC",
+ "mangledName": "$s12IOTBluetooth20IBHistoryBurningItemC",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBWater",
+ "printedName": "IBWater",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "alertState",
+ "printedName": "alertState",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth7IBWaterC10alertStateSivp",
+ "mangledName": "$s12IOTBluetooth7IBWaterC10alertStateSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth7IBWaterC10alertStateSivg",
+ "mangledName": "$s12IOTBluetooth7IBWaterC10alertStateSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth7IBWaterC10alertStateSivs",
+ "mangledName": "$s12IOTBluetooth7IBWaterC10alertStateSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth7IBWaterC10alertStateSivM",
+ "mangledName": "$s12IOTBluetooth7IBWaterC10alertStateSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "alertType",
+ "printedName": "alertType",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth7IBWaterC9alertTypeSivp",
+ "mangledName": "$s12IOTBluetooth7IBWaterC9alertTypeSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth7IBWaterC9alertTypeSivg",
+ "mangledName": "$s12IOTBluetooth7IBWaterC9alertTypeSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth7IBWaterC9alertTypeSivs",
+ "mangledName": "$s12IOTBluetooth7IBWaterC9alertTypeSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth7IBWaterC9alertTypeSivM",
+ "mangledName": "$s12IOTBluetooth7IBWaterC9alertTypeSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "drinkingValue",
+ "printedName": "drinkingValue",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth7IBWaterC13drinkingValueSivp",
+ "mangledName": "$s12IOTBluetooth7IBWaterC13drinkingValueSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth7IBWaterC13drinkingValueSivg",
+ "mangledName": "$s12IOTBluetooth7IBWaterC13drinkingValueSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth7IBWaterC13drinkingValueSivs",
+ "mangledName": "$s12IOTBluetooth7IBWaterC13drinkingValueSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth7IBWaterC13drinkingValueSivM",
+ "mangledName": "$s12IOTBluetooth7IBWaterC13drinkingValueSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "start",
+ "printedName": "start",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBTimeItem",
+ "printedName": "IOTBluetooth.IBTimeItem",
+ "usr": "s:12IOTBluetooth10IBTimeItemV"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth7IBWaterC5startAA10IBTimeItemVvp",
+ "mangledName": "$s12IOTBluetooth7IBWaterC5startAA10IBTimeItemVvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBTimeItem",
+ "printedName": "IOTBluetooth.IBTimeItem",
+ "usr": "s:12IOTBluetooth10IBTimeItemV"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth7IBWaterC5startAA10IBTimeItemVvg",
+ "mangledName": "$s12IOTBluetooth7IBWaterC5startAA10IBTimeItemVvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "IBTimeItem",
+ "printedName": "IOTBluetooth.IBTimeItem",
+ "usr": "s:12IOTBluetooth10IBTimeItemV"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth7IBWaterC5startAA10IBTimeItemVvs",
+ "mangledName": "$s12IOTBluetooth7IBWaterC5startAA10IBTimeItemVvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth7IBWaterC5startAA10IBTimeItemVvM",
+ "mangledName": "$s12IOTBluetooth7IBWaterC5startAA10IBTimeItemVvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "end",
+ "printedName": "end",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBTimeItem",
+ "printedName": "IOTBluetooth.IBTimeItem",
+ "usr": "s:12IOTBluetooth10IBTimeItemV"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth7IBWaterC3endAA10IBTimeItemVvp",
+ "mangledName": "$s12IOTBluetooth7IBWaterC3endAA10IBTimeItemVvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBTimeItem",
+ "printedName": "IOTBluetooth.IBTimeItem",
+ "usr": "s:12IOTBluetooth10IBTimeItemV"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth7IBWaterC3endAA10IBTimeItemVvg",
+ "mangledName": "$s12IOTBluetooth7IBWaterC3endAA10IBTimeItemVvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "IBTimeItem",
+ "printedName": "IOTBluetooth.IBTimeItem",
+ "usr": "s:12IOTBluetooth10IBTimeItemV"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth7IBWaterC3endAA10IBTimeItemVvs",
+ "mangledName": "$s12IOTBluetooth7IBWaterC3endAA10IBTimeItemVvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth7IBWaterC3endAA10IBTimeItemVvM",
+ "mangledName": "$s12IOTBluetooth7IBWaterC3endAA10IBTimeItemVvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "frequency",
+ "printedName": "frequency",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBFrequency",
+ "printedName": "IOTBluetooth.IBFrequency",
+ "usr": "s:12IOTBluetooth11IBFrequencyO"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth7IBWaterC9frequencyAA11IBFrequencyOvp",
+ "mangledName": "$s12IOTBluetooth7IBWaterC9frequencyAA11IBFrequencyOvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBFrequency",
+ "printedName": "IOTBluetooth.IBFrequency",
+ "usr": "s:12IOTBluetooth11IBFrequencyO"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth7IBWaterC9frequencyAA11IBFrequencyOvg",
+ "mangledName": "$s12IOTBluetooth7IBWaterC9frequencyAA11IBFrequencyOvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "IBFrequency",
+ "printedName": "IOTBluetooth.IBFrequency",
+ "usr": "s:12IOTBluetooth11IBFrequencyO"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth7IBWaterC9frequencyAA11IBFrequencyOvs",
+ "mangledName": "$s12IOTBluetooth7IBWaterC9frequencyAA11IBFrequencyOvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth7IBWaterC9frequencyAA11IBFrequencyOvM",
+ "mangledName": "$s12IOTBluetooth7IBWaterC9frequencyAA11IBFrequencyOvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBWater",
+ "printedName": "IOTBluetooth.IBWater",
+ "usr": "s:12IOTBluetooth7IBWaterC"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth7IBWaterCACycfc",
+ "mangledName": "$s12IOTBluetooth7IBWaterCACycfc",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "init_kind": "Designated"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:12IOTBluetooth7IBWaterC",
+ "mangledName": "$s12IOTBluetooth7IBWaterC",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBFrequency",
+ "printedName": "IBFrequency",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "min30",
+ "printedName": "min30",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBFrequency.Type) -> IOTBluetooth.IBFrequency",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBFrequency",
+ "printedName": "IOTBluetooth.IBFrequency",
+ "usr": "s:12IOTBluetooth11IBFrequencyO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBFrequency.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBFrequency",
+ "printedName": "IOTBluetooth.IBFrequency",
+ "usr": "s:12IOTBluetooth11IBFrequencyO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth11IBFrequencyO5min30yA2CmF",
+ "mangledName": "$s12IOTBluetooth11IBFrequencyO5min30yA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "hour1",
+ "printedName": "hour1",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBFrequency.Type) -> IOTBluetooth.IBFrequency",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBFrequency",
+ "printedName": "IOTBluetooth.IBFrequency",
+ "usr": "s:12IOTBluetooth11IBFrequencyO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBFrequency.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBFrequency",
+ "printedName": "IOTBluetooth.IBFrequency",
+ "usr": "s:12IOTBluetooth11IBFrequencyO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth11IBFrequencyO5hour1yA2CmF",
+ "mangledName": "$s12IOTBluetooth11IBFrequencyO5hour1yA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "hour2",
+ "printedName": "hour2",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBFrequency.Type) -> IOTBluetooth.IBFrequency",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBFrequency",
+ "printedName": "IOTBluetooth.IBFrequency",
+ "usr": "s:12IOTBluetooth11IBFrequencyO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBFrequency.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBFrequency",
+ "printedName": "IOTBluetooth.IBFrequency",
+ "usr": "s:12IOTBluetooth11IBFrequencyO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth11IBFrequencyO5hour2yA2CmF",
+ "mangledName": "$s12IOTBluetooth11IBFrequencyO5hour2yA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "hour3",
+ "printedName": "hour3",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBFrequency.Type) -> IOTBluetooth.IBFrequency",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBFrequency",
+ "printedName": "IOTBluetooth.IBFrequency",
+ "usr": "s:12IOTBluetooth11IBFrequencyO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBFrequency.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBFrequency",
+ "printedName": "IOTBluetooth.IBFrequency",
+ "usr": "s:12IOTBluetooth11IBFrequencyO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth11IBFrequencyO5hour3yA2CmF",
+ "mangledName": "$s12IOTBluetooth11IBFrequencyO5hour3yA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "none",
+ "printedName": "none",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBFrequency.Type) -> IOTBluetooth.IBFrequency",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBFrequency",
+ "printedName": "IOTBluetooth.IBFrequency",
+ "usr": "s:12IOTBluetooth11IBFrequencyO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBFrequency.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBFrequency",
+ "printedName": "IOTBluetooth.IBFrequency",
+ "usr": "s:12IOTBluetooth11IBFrequencyO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth11IBFrequencyO4noneyA2CmF",
+ "mangledName": "$s12IOTBluetooth11IBFrequencyO4noneyA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "rawValue",
+ "printedName": "rawValue",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth11IBFrequencyO8rawValueSivp",
+ "mangledName": "$s12IOTBluetooth11IBFrequencyO8rawValueSivp",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth11IBFrequencyO8rawValueSivg",
+ "mangledName": "$s12IOTBluetooth11IBFrequencyO8rawValueSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(rawValue:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "IOTBluetooth.IBFrequency?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBFrequency",
+ "printedName": "IOTBluetooth.IBFrequency",
+ "usr": "s:12IOTBluetooth11IBFrequencyO"
+ }
+ ],
+ "usr": "s:Sq"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth11IBFrequencyO8rawValueACSgSi_tcfc",
+ "mangledName": "$s12IOTBluetooth11IBFrequencyO8rawValueACSgSi_tcfc",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "init_kind": "Designated"
+ }
+ ],
+ "declKind": "Enum",
+ "usr": "s:12IOTBluetooth11IBFrequencyO",
+ "mangledName": "$s12IOTBluetooth11IBFrequencyO",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "enumRawTypeName": "Int",
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Equatable",
+ "printedName": "Equatable",
+ "usr": "s:SQ",
+ "mangledName": "$sSQ"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Hashable",
+ "printedName": "Hashable",
+ "usr": "s:SH",
+ "mangledName": "$sSH"
+ },
+ {
+ "kind": "Conformance",
+ "name": "RawRepresentable",
+ "printedName": "RawRepresentable",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "RawValue",
+ "printedName": "RawValue",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ]
+ }
+ ],
+ "usr": "s:SY",
+ "mangledName": "$sSY"
+ }
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBAbility",
+ "printedName": "IBAbility",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "description",
+ "printedName": "description",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC11descriptionSSvp",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC11descriptionSSvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC11descriptionSSvg",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC11descriptionSSvg",
+ "moduleName": "IOTBluetooth",
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "userData",
+ "printedName": "userData",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC8userDataACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC8userDataACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC8userDataACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC8userDataACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "about",
+ "printedName": "about",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC5aboutACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC5aboutACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC5aboutACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC5aboutACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "switchDial",
+ "printedName": "switchDial",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC10switchDialACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC10switchDialACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC10switchDialACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC10switchDialACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "deleteDial",
+ "printedName": "deleteDial",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC10deleteDialACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC10deleteDialACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC10deleteDialACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC10deleteDialACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "fetchCurrentDialId",
+ "printedName": "fetchCurrentDialId",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC18fetchCurrentDialIdACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC18fetchCurrentDialIdACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC18fetchCurrentDialIdACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC18fetchCurrentDialIdACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "find",
+ "printedName": "find",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC4findACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC4findACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC4findACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC4findACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "message",
+ "printedName": "message",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC7messageACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC7messageACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC7messageACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC7messageACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "startSport",
+ "printedName": "startSport",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC10startSportACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC10startSportACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC10startSportACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC10startSportACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "endSport",
+ "printedName": "endSport",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC8endSportACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC8endSportACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC8endSportACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC8endSportACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "trainFrequency",
+ "printedName": "trainFrequency",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC14trainFrequencyACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC14trainFrequencyACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC14trainFrequencyACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC14trainFrequencyACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "trainPauseResume",
+ "printedName": "trainPauseResume",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC16trainPauseResumeACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC16trainPauseResumeACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC16trainPauseResumeACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC16trainPauseResumeACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "language",
+ "printedName": "language",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC8languageACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC8languageACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC8languageACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC8languageACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "fetchHeartRate",
+ "printedName": "fetchHeartRate",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC14fetchHeartRateACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC14fetchHeartRateACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC14fetchHeartRateACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC14fetchHeartRateACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "heartRate",
+ "printedName": "heartRate",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC9heartRateACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC9heartRateACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC9heartRateACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC9heartRateACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "fetchBloodOxygen",
+ "printedName": "fetchBloodOxygen",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC16fetchBloodOxygenACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC16fetchBloodOxygenACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC16fetchBloodOxygenACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC16fetchBloodOxygenACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "bloodOxygen",
+ "printedName": "bloodOxygen",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC11bloodOxygenACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC11bloodOxygenACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC11bloodOxygenACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC11bloodOxygenACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "currentHeartRate",
+ "printedName": "currentHeartRate",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC16currentHeartRateACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC16currentHeartRateACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC16currentHeartRateACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC16currentHeartRateACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "heartRateMode",
+ "printedName": "heartRateMode",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC13heartRateModeACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC13heartRateModeACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC13heartRateModeACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC13heartRateModeACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "heartRateHigh",
+ "printedName": "heartRateHigh",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC13heartRateHighACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC13heartRateHighACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC13heartRateHighACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC13heartRateHighACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "takePhoto",
+ "printedName": "takePhoto",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC9takePhotoACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC9takePhotoACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC9takePhotoACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC9takePhotoACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "restore",
+ "printedName": "restore",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC7restoreACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC7restoreACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC7restoreACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC7restoreACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "reboot",
+ "printedName": "reboot",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC6rebootACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC6rebootACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC6rebootACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC6rebootACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "shutdown",
+ "printedName": "shutdown",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC8shutdownACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC8shutdownACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC8shutdownACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC8shutdownACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "fetchBattery",
+ "printedName": "fetchBattery",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC12fetchBatteryACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC12fetchBatteryACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC12fetchBatteryACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC12fetchBatteryACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "fetchClock",
+ "printedName": "fetchClock",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC10fetchClockACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC10fetchClockACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC10fetchClockACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC10fetchClockACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "setClock",
+ "printedName": "setClock",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC8setClockACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC8setClockACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC8setClockACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC8setClockACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "fetchDials",
+ "printedName": "fetchDials",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC10fetchDialsACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC10fetchDialsACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC10fetchDialsACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC10fetchDialsACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "checkDialID",
+ "printedName": "checkDialID",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC11checkDialIDACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC11checkDialIDACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC11checkDialIDACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC11checkDialIDACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "fetchWatchState",
+ "printedName": "fetchWatchState",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC15fetchWatchStateACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC15fetchWatchStateACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC15fetchWatchStateACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC15fetchWatchStateACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "fetchScreen",
+ "printedName": "fetchScreen",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC11fetchScreenACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC11fetchScreenACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC11fetchScreenACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC11fetchScreenACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "screen",
+ "printedName": "screen",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC6screenACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC6screenACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC6screenACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC6screenACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "fetchVibrateSound",
+ "printedName": "fetchVibrateSound",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC17fetchVibrateSoundACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC17fetchVibrateSoundACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC17fetchVibrateSoundACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC17fetchVibrateSoundACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "vibrateSound",
+ "printedName": "vibrateSound",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC12vibrateSoundACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC12vibrateSoundACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC12vibrateSoundACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC12vibrateSoundACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "auxiliary",
+ "printedName": "auxiliary",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC9auxiliaryACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC9auxiliaryACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC9auxiliaryACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC9auxiliaryACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "fetchAuxiliary",
+ "printedName": "fetchAuxiliary",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC14fetchAuxiliaryACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC14fetchAuxiliaryACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC14fetchAuxiliaryACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC14fetchAuxiliaryACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "fetchTargetStep",
+ "printedName": "fetchTargetStep",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC15fetchTargetStepACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC15fetchTargetStepACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC15fetchTargetStepACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC15fetchTargetStepACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "targetStep",
+ "printedName": "targetStep",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC10targetStepACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC10targetStepACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC10targetStepACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC10targetStepACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "fetchOtherTarget",
+ "printedName": "fetchOtherTarget",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC16fetchOtherTargetACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC16fetchOtherTargetACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC16fetchOtherTargetACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC16fetchOtherTargetACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "targetOther",
+ "printedName": "targetOther",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC11targetOtherACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC11targetOtherACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC11targetOtherACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC11targetOtherACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "fetchSleep",
+ "printedName": "fetchSleep",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC10fetchSleepACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC10fetchSleepACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC10fetchSleepACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC10fetchSleepACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "sleep",
+ "printedName": "sleep",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC5sleepACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC5sleepACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC5sleepACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC5sleepACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "fetchWater",
+ "printedName": "fetchWater",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC10fetchWaterACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC10fetchWaterACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC10fetchWaterACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC10fetchWaterACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "water",
+ "printedName": "water",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC5waterACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC5waterACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC5waterACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC5waterACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "unit",
+ "printedName": "unit",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC4unitACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC4unitACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC4unitACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC4unitACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "trainTarget",
+ "printedName": "trainTarget",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC11trainTargetACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC11trainTargetACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC11trainTargetACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC11trainTargetACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "syncHeartRate",
+ "printedName": "syncHeartRate",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC13syncHeartRateACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC13syncHeartRateACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC13syncHeartRateACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC13syncHeartRateACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "syncBloodOxygen",
+ "printedName": "syncBloodOxygen",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC15syncBloodOxygenACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC15syncBloodOxygenACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC15syncBloodOxygenACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC15syncBloodOxygenACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "syncStepCount",
+ "printedName": "syncStepCount",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC13syncStepCountACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC13syncStepCountACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC13syncStepCountACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC13syncStepCountACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "syncFatBurning",
+ "printedName": "syncFatBurning",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC14syncFatBurningACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC14syncFatBurningACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC14syncFatBurningACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC14syncFatBurningACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "syncStand",
+ "printedName": "syncStand",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC9syncStandACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC9syncStandACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC9syncStandACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC9syncStandACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "syncCalorie",
+ "printedName": "syncCalorie",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC11syncCalorieACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC11syncCalorieACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC11syncCalorieACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC11syncCalorieACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "syncDistance",
+ "printedName": "syncDistance",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC12syncDistanceACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC12syncDistanceACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC12syncDistanceACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC12syncDistanceACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "syncTrain",
+ "printedName": "syncTrain",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC9syncTrainACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC9syncTrainACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC9syncTrainACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC9syncTrainACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "syncSleep",
+ "printedName": "syncSleep",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC9syncSleepACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC9syncSleepACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC9syncSleepACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC9syncSleepACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "syncGPS",
+ "printedName": "syncGPS",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC7syncGPSACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC7syncGPSACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC7syncGPSACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC7syncGPSACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "sendSyncEnd",
+ "printedName": "sendSyncEnd",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC11sendSyncEndACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC11sendSyncEndACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC11sendSyncEndACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC11sendSyncEndACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "disk",
+ "printedName": "disk",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC4diskACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC4diskACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC4diskACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC4diskACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "sendPhone",
+ "printedName": "sendPhone",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC9sendPhoneACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC9sendPhoneACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC9sendPhoneACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC9sendPhoneACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "sendTime",
+ "printedName": "sendTime",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC8sendTimeACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC8sendTimeACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC8sendTimeACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC8sendTimeACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "unpair",
+ "printedName": "unpair",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC6unpairACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC6unpairACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC6unpairACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC6unpairACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "sendUnpair",
+ "printedName": "sendUnpair",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC10sendUnpairACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC10sendUnpairACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC10sendUnpairACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC10sendUnpairACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "sendWeather",
+ "printedName": "sendWeather",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC11sendWeatherACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC11sendWeatherACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC11sendWeatherACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC11sendWeatherACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "addressBook",
+ "printedName": "addressBook",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC11addressBookACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC11addressBookACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC11addressBookACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC11addressBookACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "mp3",
+ "printedName": "mp3",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC3mp3ACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC3mp3ACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC3mp3ACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC3mp3ACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "dial",
+ "printedName": "dial",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC4dialACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC4dialACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC4dialACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC4dialACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "deleteFile",
+ "printedName": "deleteFile",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC10deleteFileACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC10deleteFileACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC10deleteFileACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC10deleteFileACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "deleteFiles",
+ "printedName": "deleteFiles",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC11deleteFilesACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC11deleteFilesACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC11deleteFilesACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC11deleteFilesACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "ota",
+ "printedName": "ota",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC3otaACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC3otaACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC3otaACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC3otaACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "revokeFileSend",
+ "printedName": "revokeFileSend",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC14revokeFileSendACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC14revokeFileSendACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC14revokeFileSendACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC14revokeFileSendACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "fetchFiles",
+ "printedName": "fetchFiles",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAbilityC10fetchFilesACvpZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC10fetchFilesACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAbility",
+ "printedName": "IOTBluetooth.IBAbility",
+ "usr": "s:12IOTBluetooth9IBAbilityC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAbilityC10fetchFilesACvgZ",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC10fetchFilesACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:12IOTBluetooth9IBAbilityC",
+ "mangledName": "$s12IOTBluetooth9IBAbilityC",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasMissingDesignatedInitializers": true
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBScreenConfig",
+ "printedName": "IBScreenConfig",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "type",
+ "printedName": "type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth14IBScreenConfigC4typeSivp",
+ "mangledName": "$s12IOTBluetooth14IBScreenConfigC4typeSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth14IBScreenConfigC4typeSivg",
+ "mangledName": "$s12IOTBluetooth14IBScreenConfigC4typeSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth14IBScreenConfigC4typeSivs",
+ "mangledName": "$s12IOTBluetooth14IBScreenConfigC4typeSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth14IBScreenConfigC4typeSivM",
+ "mangledName": "$s12IOTBluetooth14IBScreenConfigC4typeSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "brightness",
+ "printedName": "brightness",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth14IBScreenConfigC10brightnessSiSgvp",
+ "mangledName": "$s12IOTBluetooth14IBScreenConfigC10brightnessSiSgvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth14IBScreenConfigC10brightnessSiSgvg",
+ "mangledName": "$s12IOTBluetooth14IBScreenConfigC10brightnessSiSgvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth14IBScreenConfigC10brightnessSiSgvs",
+ "mangledName": "$s12IOTBluetooth14IBScreenConfigC10brightnessSiSgvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth14IBScreenConfigC10brightnessSiSgvM",
+ "mangledName": "$s12IOTBluetooth14IBScreenConfigC10brightnessSiSgvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "duration",
+ "printedName": "duration",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "IOTBluetooth.IBDuration?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBDuration",
+ "printedName": "IOTBluetooth.IBDuration",
+ "usr": "s:12IOTBluetooth10IBDurationO"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth14IBScreenConfigC8durationAA10IBDurationOSgvp",
+ "mangledName": "$s12IOTBluetooth14IBScreenConfigC8durationAA10IBDurationOSgvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "IOTBluetooth.IBDuration?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBDuration",
+ "printedName": "IOTBluetooth.IBDuration",
+ "usr": "s:12IOTBluetooth10IBDurationO"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth14IBScreenConfigC8durationAA10IBDurationOSgvg",
+ "mangledName": "$s12IOTBluetooth14IBScreenConfigC8durationAA10IBDurationOSgvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "IOTBluetooth.IBDuration?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBDuration",
+ "printedName": "IOTBluetooth.IBDuration",
+ "usr": "s:12IOTBluetooth10IBDurationO"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth14IBScreenConfigC8durationAA10IBDurationOSgvs",
+ "mangledName": "$s12IOTBluetooth14IBScreenConfigC8durationAA10IBDurationOSgvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth14IBScreenConfigC8durationAA10IBDurationOSgvM",
+ "mangledName": "$s12IOTBluetooth14IBScreenConfigC8durationAA10IBDurationOSgvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "wrist",
+ "printedName": "wrist",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth14IBScreenConfigC5wristSiSgvp",
+ "mangledName": "$s12IOTBluetooth14IBScreenConfigC5wristSiSgvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth14IBScreenConfigC5wristSiSgvg",
+ "mangledName": "$s12IOTBluetooth14IBScreenConfigC5wristSiSgvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth14IBScreenConfigC5wristSiSgvs",
+ "mangledName": "$s12IOTBluetooth14IBScreenConfigC5wristSiSgvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth14IBScreenConfigC5wristSiSgvM",
+ "mangledName": "$s12IOTBluetooth14IBScreenConfigC5wristSiSgvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBScreenConfig",
+ "printedName": "IOTBluetooth.IBScreenConfig",
+ "usr": "s:12IOTBluetooth14IBScreenConfigC"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth14IBScreenConfigCACycfc",
+ "mangledName": "$s12IOTBluetooth14IBScreenConfigCACycfc",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "init_kind": "Designated"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:12IOTBluetooth14IBScreenConfigC",
+ "mangledName": "$s12IOTBluetooth14IBScreenConfigC",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBScreen",
+ "printedName": "IBScreen",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "brightness",
+ "printedName": "brightness",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth8IBScreenC10brightnessSivp",
+ "mangledName": "$s12IOTBluetooth8IBScreenC10brightnessSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth8IBScreenC10brightnessSivg",
+ "mangledName": "$s12IOTBluetooth8IBScreenC10brightnessSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth8IBScreenC10brightnessSivs",
+ "mangledName": "$s12IOTBluetooth8IBScreenC10brightnessSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth8IBScreenC10brightnessSivM",
+ "mangledName": "$s12IOTBluetooth8IBScreenC10brightnessSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "duration",
+ "printedName": "duration",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBDuration",
+ "printedName": "IOTBluetooth.IBDuration",
+ "usr": "s:12IOTBluetooth10IBDurationO"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth8IBScreenC8durationAA10IBDurationOvp",
+ "mangledName": "$s12IOTBluetooth8IBScreenC8durationAA10IBDurationOvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBDuration",
+ "printedName": "IOTBluetooth.IBDuration",
+ "usr": "s:12IOTBluetooth10IBDurationO"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth8IBScreenC8durationAA10IBDurationOvg",
+ "mangledName": "$s12IOTBluetooth8IBScreenC8durationAA10IBDurationOvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "IBDuration",
+ "printedName": "IOTBluetooth.IBDuration",
+ "usr": "s:12IOTBluetooth10IBDurationO"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth8IBScreenC8durationAA10IBDurationOvs",
+ "mangledName": "$s12IOTBluetooth8IBScreenC8durationAA10IBDurationOvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth8IBScreenC8durationAA10IBDurationOvM",
+ "mangledName": "$s12IOTBluetooth8IBScreenC8durationAA10IBDurationOvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "wrist",
+ "printedName": "wrist",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth8IBScreenC5wristSivp",
+ "mangledName": "$s12IOTBluetooth8IBScreenC5wristSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth8IBScreenC5wristSivg",
+ "mangledName": "$s12IOTBluetooth8IBScreenC5wristSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth8IBScreenC5wristSivs",
+ "mangledName": "$s12IOTBluetooth8IBScreenC5wristSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth8IBScreenC5wristSivM",
+ "mangledName": "$s12IOTBluetooth8IBScreenC5wristSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBScreen",
+ "printedName": "IOTBluetooth.IBScreen",
+ "usr": "s:12IOTBluetooth8IBScreenC"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth8IBScreenCACycfc",
+ "mangledName": "$s12IOTBluetooth8IBScreenCACycfc",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "init_kind": "Designated"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:12IOTBluetooth8IBScreenC",
+ "mangledName": "$s12IOTBluetooth8IBScreenC",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasMissingDesignatedInitializers": true
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBDuration",
+ "printedName": "IBDuration",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "second5",
+ "printedName": "second5",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBDuration.Type) -> IOTBluetooth.IBDuration",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBDuration",
+ "printedName": "IOTBluetooth.IBDuration",
+ "usr": "s:12IOTBluetooth10IBDurationO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBDuration.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBDuration",
+ "printedName": "IOTBluetooth.IBDuration",
+ "usr": "s:12IOTBluetooth10IBDurationO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth10IBDurationO7second5yA2CmF",
+ "mangledName": "$s12IOTBluetooth10IBDurationO7second5yA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "second10",
+ "printedName": "second10",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBDuration.Type) -> IOTBluetooth.IBDuration",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBDuration",
+ "printedName": "IOTBluetooth.IBDuration",
+ "usr": "s:12IOTBluetooth10IBDurationO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBDuration.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBDuration",
+ "printedName": "IOTBluetooth.IBDuration",
+ "usr": "s:12IOTBluetooth10IBDurationO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth10IBDurationO8second10yA2CmF",
+ "mangledName": "$s12IOTBluetooth10IBDurationO8second10yA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "second15",
+ "printedName": "second15",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBDuration.Type) -> IOTBluetooth.IBDuration",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBDuration",
+ "printedName": "IOTBluetooth.IBDuration",
+ "usr": "s:12IOTBluetooth10IBDurationO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBDuration.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBDuration",
+ "printedName": "IOTBluetooth.IBDuration",
+ "usr": "s:12IOTBluetooth10IBDurationO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth10IBDurationO8second15yA2CmF",
+ "mangledName": "$s12IOTBluetooth10IBDurationO8second15yA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "second30",
+ "printedName": "second30",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBDuration.Type) -> IOTBluetooth.IBDuration",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBDuration",
+ "printedName": "IOTBluetooth.IBDuration",
+ "usr": "s:12IOTBluetooth10IBDurationO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBDuration.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBDuration",
+ "printedName": "IOTBluetooth.IBDuration",
+ "usr": "s:12IOTBluetooth10IBDurationO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth10IBDurationO8second30yA2CmF",
+ "mangledName": "$s12IOTBluetooth10IBDurationO8second30yA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "minute",
+ "printedName": "minute",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBDuration.Type) -> IOTBluetooth.IBDuration",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBDuration",
+ "printedName": "IOTBluetooth.IBDuration",
+ "usr": "s:12IOTBluetooth10IBDurationO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBDuration.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBDuration",
+ "printedName": "IOTBluetooth.IBDuration",
+ "usr": "s:12IOTBluetooth10IBDurationO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth10IBDurationO6minuteyA2CmF",
+ "mangledName": "$s12IOTBluetooth10IBDurationO6minuteyA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "minute5",
+ "printedName": "minute5",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBDuration.Type) -> IOTBluetooth.IBDuration",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBDuration",
+ "printedName": "IOTBluetooth.IBDuration",
+ "usr": "s:12IOTBluetooth10IBDurationO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBDuration.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBDuration",
+ "printedName": "IOTBluetooth.IBDuration",
+ "usr": "s:12IOTBluetooth10IBDurationO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth10IBDurationO7minute5yA2CmF",
+ "mangledName": "$s12IOTBluetooth10IBDurationO7minute5yA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "rawValue",
+ "printedName": "rawValue",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth10IBDurationO8rawValueSivp",
+ "mangledName": "$s12IOTBluetooth10IBDurationO8rawValueSivp",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBDurationO8rawValueSivg",
+ "mangledName": "$s12IOTBluetooth10IBDurationO8rawValueSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(rawValue:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "IOTBluetooth.IBDuration?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBDuration",
+ "printedName": "IOTBluetooth.IBDuration",
+ "usr": "s:12IOTBluetooth10IBDurationO"
+ }
+ ],
+ "usr": "s:Sq"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth10IBDurationO8rawValueACSgSi_tcfc",
+ "mangledName": "$s12IOTBluetooth10IBDurationO8rawValueACSgSi_tcfc",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "init_kind": "Designated"
+ }
+ ],
+ "declKind": "Enum",
+ "usr": "s:12IOTBluetooth10IBDurationO",
+ "mangledName": "$s12IOTBluetooth10IBDurationO",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "enumRawTypeName": "Int",
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Equatable",
+ "printedName": "Equatable",
+ "usr": "s:SQ",
+ "mangledName": "$sSQ"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Hashable",
+ "printedName": "Hashable",
+ "usr": "s:SH",
+ "mangledName": "$sSH"
+ },
+ {
+ "kind": "Conformance",
+ "name": "RawRepresentable",
+ "printedName": "RawRepresentable",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "RawValue",
+ "printedName": "RawValue",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ]
+ }
+ ],
+ "usr": "s:SY",
+ "mangledName": "$sSY"
+ }
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBSendTime",
+ "printedName": "IBSendTime",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "time",
+ "printedName": "time",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth10IBSendTimeC4timeSivp",
+ "mangledName": "$s12IOTBluetooth10IBSendTimeC4timeSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBSendTimeC4timeSivg",
+ "mangledName": "$s12IOTBluetooth10IBSendTimeC4timeSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBSendTimeC4timeSivs",
+ "mangledName": "$s12IOTBluetooth10IBSendTimeC4timeSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBSendTimeC4timeSivM",
+ "mangledName": "$s12IOTBluetooth10IBSendTimeC4timeSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "week",
+ "printedName": "week",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth10IBSendTimeC4weekSivp",
+ "mangledName": "$s12IOTBluetooth10IBSendTimeC4weekSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBSendTimeC4weekSivg",
+ "mangledName": "$s12IOTBluetooth10IBSendTimeC4weekSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBSendTimeC4weekSivs",
+ "mangledName": "$s12IOTBluetooth10IBSendTimeC4weekSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBSendTimeC4weekSivM",
+ "mangledName": "$s12IOTBluetooth10IBSendTimeC4weekSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "year",
+ "printedName": "year",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth10IBSendTimeC4yearSivp",
+ "mangledName": "$s12IOTBluetooth10IBSendTimeC4yearSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBSendTimeC4yearSivg",
+ "mangledName": "$s12IOTBluetooth10IBSendTimeC4yearSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBSendTimeC4yearSivs",
+ "mangledName": "$s12IOTBluetooth10IBSendTimeC4yearSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBSendTimeC4yearSivM",
+ "mangledName": "$s12IOTBluetooth10IBSendTimeC4yearSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "month",
+ "printedName": "month",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth10IBSendTimeC5monthSivp",
+ "mangledName": "$s12IOTBluetooth10IBSendTimeC5monthSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBSendTimeC5monthSivg",
+ "mangledName": "$s12IOTBluetooth10IBSendTimeC5monthSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBSendTimeC5monthSivs",
+ "mangledName": "$s12IOTBluetooth10IBSendTimeC5monthSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBSendTimeC5monthSivM",
+ "mangledName": "$s12IOTBluetooth10IBSendTimeC5monthSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "day",
+ "printedName": "day",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth10IBSendTimeC3daySivp",
+ "mangledName": "$s12IOTBluetooth10IBSendTimeC3daySivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBSendTimeC3daySivg",
+ "mangledName": "$s12IOTBluetooth10IBSendTimeC3daySivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBSendTimeC3daySivs",
+ "mangledName": "$s12IOTBluetooth10IBSendTimeC3daySivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBSendTimeC3daySivM",
+ "mangledName": "$s12IOTBluetooth10IBSendTimeC3daySivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "hour",
+ "printedName": "hour",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth10IBSendTimeC4hourSivp",
+ "mangledName": "$s12IOTBluetooth10IBSendTimeC4hourSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBSendTimeC4hourSivg",
+ "mangledName": "$s12IOTBluetooth10IBSendTimeC4hourSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBSendTimeC4hourSivs",
+ "mangledName": "$s12IOTBluetooth10IBSendTimeC4hourSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBSendTimeC4hourSivM",
+ "mangledName": "$s12IOTBluetooth10IBSendTimeC4hourSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "minute",
+ "printedName": "minute",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth10IBSendTimeC6minuteSivp",
+ "mangledName": "$s12IOTBluetooth10IBSendTimeC6minuteSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBSendTimeC6minuteSivg",
+ "mangledName": "$s12IOTBluetooth10IBSendTimeC6minuteSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBSendTimeC6minuteSivs",
+ "mangledName": "$s12IOTBluetooth10IBSendTimeC6minuteSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBSendTimeC6minuteSivM",
+ "mangledName": "$s12IOTBluetooth10IBSendTimeC6minuteSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "second",
+ "printedName": "second",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth10IBSendTimeC6secondSivp",
+ "mangledName": "$s12IOTBluetooth10IBSendTimeC6secondSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBSendTimeC6secondSivg",
+ "mangledName": "$s12IOTBluetooth10IBSendTimeC6secondSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBSendTimeC6secondSivs",
+ "mangledName": "$s12IOTBluetooth10IBSendTimeC6secondSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBSendTimeC6secondSivM",
+ "mangledName": "$s12IOTBluetooth10IBSendTimeC6secondSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBSendTime",
+ "printedName": "IOTBluetooth.IBSendTime",
+ "usr": "s:12IOTBluetooth10IBSendTimeC"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth10IBSendTimeCACycfc",
+ "mangledName": "$s12IOTBluetooth10IBSendTimeCACycfc",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Function",
+ "name": "encode",
+ "printedName": "encode(to:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Encoder",
+ "printedName": "Swift.Encoder",
+ "usr": "s:s7EncoderP"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:12IOTBluetooth10IBSendTimeC6encode2toys7Encoder_p_tKF",
+ "mangledName": "$s12IOTBluetooth10IBSendTimeC6encode2toys7Encoder_p_tKF",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "throwing": true,
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(from:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBSendTime",
+ "printedName": "IOTBluetooth.IBSendTime",
+ "usr": "s:12IOTBluetooth10IBSendTimeC"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Decoder",
+ "printedName": "Swift.Decoder",
+ "usr": "s:s7DecoderP"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth10IBSendTimeC4fromACs7Decoder_p_tKcfc",
+ "mangledName": "$s12IOTBluetooth10IBSendTimeC4fromACs7Decoder_p_tKcfc",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "declAttributes": [
+ "Required"
+ ],
+ "throwing": true,
+ "init_kind": "Designated"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:12IOTBluetooth10IBSendTimeC",
+ "mangledName": "$s12IOTBluetooth10IBSendTimeC",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Decodable",
+ "printedName": "Decodable",
+ "usr": "s:Se",
+ "mangledName": "$sSe"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Encodable",
+ "printedName": "Encodable",
+ "usr": "s:SE",
+ "mangledName": "$sSE"
+ }
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBTargetStep",
+ "printedName": "IBTargetStep",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "value",
+ "printedName": "value",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth12IBTargetStepC5valueSivp",
+ "mangledName": "$s12IOTBluetooth12IBTargetStepC5valueSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBTargetStepC5valueSivg",
+ "mangledName": "$s12IOTBluetooth12IBTargetStepC5valueSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBTargetStepC5valueSivs",
+ "mangledName": "$s12IOTBluetooth12IBTargetStepC5valueSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBTargetStepC5valueSivM",
+ "mangledName": "$s12IOTBluetooth12IBTargetStepC5valueSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "ring",
+ "printedName": "ring",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth12IBTargetStepC4ringSivp",
+ "mangledName": "$s12IOTBluetooth12IBTargetStepC4ringSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBTargetStepC4ringSivg",
+ "mangledName": "$s12IOTBluetooth12IBTargetStepC4ringSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBTargetStepC4ringSivs",
+ "mangledName": "$s12IOTBluetooth12IBTargetStepC4ringSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBTargetStepC4ringSivM",
+ "mangledName": "$s12IOTBluetooth12IBTargetStepC4ringSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "vibrate",
+ "printedName": "vibrate",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth12IBTargetStepC7vibrateSivp",
+ "mangledName": "$s12IOTBluetooth12IBTargetStepC7vibrateSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBTargetStepC7vibrateSivg",
+ "mangledName": "$s12IOTBluetooth12IBTargetStepC7vibrateSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBTargetStepC7vibrateSivs",
+ "mangledName": "$s12IOTBluetooth12IBTargetStepC7vibrateSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBTargetStepC7vibrateSivM",
+ "mangledName": "$s12IOTBluetooth12IBTargetStepC7vibrateSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "notice",
+ "printedName": "notice",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth12IBTargetStepC6noticeSivp",
+ "mangledName": "$s12IOTBluetooth12IBTargetStepC6noticeSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBTargetStepC6noticeSivg",
+ "mangledName": "$s12IOTBluetooth12IBTargetStepC6noticeSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBTargetStepC6noticeSivs",
+ "mangledName": "$s12IOTBluetooth12IBTargetStepC6noticeSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBTargetStepC6noticeSivM",
+ "mangledName": "$s12IOTBluetooth12IBTargetStepC6noticeSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBTargetStep",
+ "printedName": "IOTBluetooth.IBTargetStep",
+ "usr": "s:12IOTBluetooth12IBTargetStepC"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth12IBTargetStepCACycfc",
+ "mangledName": "$s12IOTBluetooth12IBTargetStepCACycfc",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "init_kind": "Designated"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:12IOTBluetooth12IBTargetStepC",
+ "mangledName": "$s12IOTBluetooth12IBTargetStepC",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasMissingDesignatedInitializers": true
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBFileSender",
+ "printedName": "IBFileSender",
+ "children": [
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBFileSender",
+ "printedName": "IOTBluetooth.IBFileSender",
+ "usr": "s:12IOTBluetooth12IBFileSenderC"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth12IBFileSenderCACycfc",
+ "mangledName": "$s12IOTBluetooth12IBFileSenderCACycfc",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Function",
+ "name": "ota",
+ "printedName": "ota(_:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "DynamicSelf",
+ "printedName": "Self"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "IBSendOta",
+ "printedName": "IOTBluetooth.IBSendOta",
+ "usr": "s:12IOTBluetooth9IBSendOtaC"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:12IOTBluetooth12IBFileSenderC3otayACXDAA9IBSendOtaCF",
+ "mangledName": "$s12IOTBluetooth12IBFileSenderC3otayACXDAA9IBSendOtaCF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "DiscardableResult"
+ ],
+ "isFromExtension": true,
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Function",
+ "name": "mp3",
+ "printedName": "mp3(_:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "DynamicSelf",
+ "printedName": "Self"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "IBSendMp3",
+ "printedName": "IOTBluetooth.IBSendMp3",
+ "usr": "s:12IOTBluetooth9IBSendMp3C"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:12IOTBluetooth12IBFileSenderC3mp3yACXDAA9IBSendMp3CF",
+ "mangledName": "$s12IOTBluetooth12IBFileSenderC3mp3yACXDAA9IBSendMp3CF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "DiscardableResult"
+ ],
+ "isFromExtension": true,
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Function",
+ "name": "dial",
+ "printedName": "dial(_:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "DynamicSelf",
+ "printedName": "Self"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "IBDial",
+ "printedName": "IOTBluetooth.IBDial",
+ "usr": "s:12IOTBluetooth6IBDialC"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:12IOTBluetooth12IBFileSenderC4dialyACXDAA6IBDialCF",
+ "mangledName": "$s12IOTBluetooth12IBFileSenderC4dialyACXDAA6IBDialCF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Function",
+ "name": "progress",
+ "printedName": "progress(_:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "DynamicSelf",
+ "printedName": "Self"
+ },
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(Swift.Int, Swift.Int) -> ()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Tuple",
+ "printedName": "(Swift.Int, Swift.Int)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:12IOTBluetooth12IBFileSenderC8progressyACXDySi_SitcF",
+ "mangledName": "$s12IOTBluetooth12IBFileSenderC8progressyACXDySi_SitcF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "DiscardableResult",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Function",
+ "name": "response",
+ "printedName": "response(_:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "DynamicSelf",
+ "printedName": "Self"
+ },
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBResponse) -> ()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "IBResponse",
+ "printedName": "IOTBluetooth.IBResponse",
+ "usr": "s:12IOTBluetooth10IBResponseC"
+ }
+ ]
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:12IOTBluetooth12IBFileSenderC8responseyACXDyAA10IBResponseCcF",
+ "mangledName": "$s12IOTBluetooth12IBFileSenderC8responseyACXDyAA10IBResponseCcF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "DiscardableResult",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Function",
+ "name": "revokeFileSend",
+ "printedName": "revokeFileSend(_:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBResponse) -> ()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "IBResponse",
+ "printedName": "IOTBluetooth.IBResponse",
+ "usr": "s:12IOTBluetooth10IBResponseC"
+ }
+ ]
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:12IOTBluetooth12IBFileSenderC14revokeFileSendyyyAA10IBResponseCcF",
+ "mangledName": "$s12IOTBluetooth12IBFileSenderC14revokeFileSendyyyAA10IBResponseCcF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "funcSelfKind": "NonMutating"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:12IOTBluetooth12IBFileSenderC",
+ "mangledName": "$s12IOTBluetooth12IBFileSenderC",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "CoreBluetooth",
+ "printedName": "CoreBluetooth",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBPeripheralUUID",
+ "printedName": "IBPeripheralUUID",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "uuid",
+ "printedName": "uuid",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "UUID",
+ "printedName": "Foundation.UUID",
+ "usr": "s:10Foundation4UUIDV"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth16IBPeripheralUUIDP4uuid10Foundation0C0Vvp",
+ "mangledName": "$s12IOTBluetooth16IBPeripheralUUIDP4uuid10Foundation0C0Vvp",
+ "moduleName": "IOTBluetooth",
+ "protocolReq": true,
+ "declAttributes": [
+ "RawDocComment"
+ ],
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "UUID",
+ "printedName": "Foundation.UUID",
+ "usr": "s:10Foundation4UUIDV"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth16IBPeripheralUUIDP4uuid10Foundation0C0Vvg",
+ "mangledName": "$s12IOTBluetooth16IBPeripheralUUIDP4uuid10Foundation0C0Vvg",
+ "moduleName": "IOTBluetooth",
+ "genericSig": "<τ_0_0 where τ_0_0 : IOTBluetooth.IBPeripheralUUID>",
+ "sugared_genericSig": "<Self where Self : IOTBluetooth.IBPeripheralUUID>",
+ "protocolReq": true,
+ "reqNewWitnessTableEntry": true,
+ "accessorKind": "get"
+ }
+ ]
+ }
+ ],
+ "declKind": "Protocol",
+ "usr": "s:12IOTBluetooth16IBPeripheralUUIDP",
+ "mangledName": "$s12IOTBluetooth16IBPeripheralUUIDP",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ]
+ },
+ {
+ "kind": "Function",
+ "name": "==",
+ "printedName": "==(_:_:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Bool",
+ "printedName": "Swift.Bool",
+ "usr": "s:Sb"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "IOTBluetooth.IBPeripheralUUID?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBPeripheralUUID",
+ "printedName": "IOTBluetooth.IBPeripheralUUID",
+ "usr": "s:12IOTBluetooth16IBPeripheralUUIDP"
+ }
+ ],
+ "usr": "s:Sq"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "IOTBluetooth.IBPeripheralUUID?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBPeripheralUUID",
+ "printedName": "IOTBluetooth.IBPeripheralUUID",
+ "usr": "s:12IOTBluetooth16IBPeripheralUUIDP"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:12IOTBluetooth2eeoiySbAA16IBPeripheralUUID_pSg_ADtF",
+ "mangledName": "$s12IOTBluetooth2eeoiySbAA16IBPeripheralUUID_pSg_ADtF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBHistoryCalorieItem",
+ "printedName": "IBHistoryCalorieItem",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "time",
+ "printedName": "time",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth20IBHistoryCalorieItemC4timeSivp",
+ "mangledName": "$s12IOTBluetooth20IBHistoryCalorieItemC4timeSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth20IBHistoryCalorieItemC4timeSivg",
+ "mangledName": "$s12IOTBluetooth20IBHistoryCalorieItemC4timeSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth20IBHistoryCalorieItemC4timeSivs",
+ "mangledName": "$s12IOTBluetooth20IBHistoryCalorieItemC4timeSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth20IBHistoryCalorieItemC4timeSivM",
+ "mangledName": "$s12IOTBluetooth20IBHistoryCalorieItemC4timeSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "value",
+ "printedName": "value",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Float",
+ "printedName": "Swift.Float",
+ "usr": "s:Sf"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth20IBHistoryCalorieItemC5valueSfvp",
+ "mangledName": "$s12IOTBluetooth20IBHistoryCalorieItemC5valueSfvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Float",
+ "printedName": "Swift.Float",
+ "usr": "s:Sf"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth20IBHistoryCalorieItemC5valueSfvg",
+ "mangledName": "$s12IOTBluetooth20IBHistoryCalorieItemC5valueSfvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Float",
+ "printedName": "Swift.Float",
+ "usr": "s:Sf"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth20IBHistoryCalorieItemC5valueSfvs",
+ "mangledName": "$s12IOTBluetooth20IBHistoryCalorieItemC5valueSfvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth20IBHistoryCalorieItemC5valueSfvM",
+ "mangledName": "$s12IOTBluetooth20IBHistoryCalorieItemC5valueSfvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBHistoryCalorieItem",
+ "printedName": "IOTBluetooth.IBHistoryCalorieItem",
+ "usr": "s:12IOTBluetooth20IBHistoryCalorieItemC"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth20IBHistoryCalorieItemCACycfc",
+ "mangledName": "$s12IOTBluetooth20IBHistoryCalorieItemCACycfc",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "init_kind": "Designated"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:12IOTBluetooth20IBHistoryCalorieItemC",
+ "mangledName": "$s12IOTBluetooth20IBHistoryCalorieItemC",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBSendMp3",
+ "printedName": "IBSendMp3",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "filePath",
+ "printedName": "filePath",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBSendMp3C8filePathSSvp",
+ "mangledName": "$s12IOTBluetooth9IBSendMp3C8filePathSSvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBSendMp3C8filePathSSvg",
+ "mangledName": "$s12IOTBluetooth9IBSendMp3C8filePathSSvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBSendMp3C8filePathSSvs",
+ "mangledName": "$s12IOTBluetooth9IBSendMp3C8filePathSSvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBSendMp3C8filePathSSvM",
+ "mangledName": "$s12IOTBluetooth9IBSendMp3C8filePathSSvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "name",
+ "printedName": "name",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBSendMp3C4nameSSvp",
+ "mangledName": "$s12IOTBluetooth9IBSendMp3C4nameSSvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBSendMp3C4nameSSvg",
+ "mangledName": "$s12IOTBluetooth9IBSendMp3C4nameSSvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBSendMp3C4nameSSvs",
+ "mangledName": "$s12IOTBluetooth9IBSendMp3C4nameSSvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBSendMp3C4nameSSvM",
+ "mangledName": "$s12IOTBluetooth9IBSendMp3C4nameSSvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBSendMp3",
+ "printedName": "IOTBluetooth.IBSendMp3",
+ "usr": "s:12IOTBluetooth9IBSendMp3C"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth9IBSendMp3CACycfc",
+ "mangledName": "$s12IOTBluetooth9IBSendMp3CACycfc",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(from:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBSendMp3",
+ "printedName": "IOTBluetooth.IBSendMp3",
+ "usr": "s:12IOTBluetooth9IBSendMp3C"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Decoder",
+ "printedName": "Swift.Decoder",
+ "usr": "s:s7DecoderP"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth9IBSendMp3C4fromACs7Decoder_p_tKcfc",
+ "mangledName": "$s12IOTBluetooth9IBSendMp3C4fromACs7Decoder_p_tKcfc",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "declAttributes": [
+ "Required"
+ ],
+ "throwing": true,
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Function",
+ "name": "encode",
+ "printedName": "encode(to:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Encoder",
+ "printedName": "Swift.Encoder",
+ "usr": "s:s7EncoderP"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:12IOTBluetooth9IBSendMp3C6encode2toys7Encoder_p_tKF",
+ "mangledName": "$s12IOTBluetooth9IBSendMp3C6encode2toys7Encoder_p_tKF",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "throwing": true,
+ "funcSelfKind": "NonMutating"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:12IOTBluetooth9IBSendMp3C",
+ "mangledName": "$s12IOTBluetooth9IBSendMp3C",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Decodable",
+ "printedName": "Decodable",
+ "usr": "s:Se",
+ "mangledName": "$sSe"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Encodable",
+ "printedName": "Encodable",
+ "usr": "s:SE",
+ "mangledName": "$sSE"
+ }
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBMp3File",
+ "printedName": "IBMp3File",
+ "children": [
+ {
+ "kind": "Function",
+ "name": "encode",
+ "printedName": "encode(to:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Encoder",
+ "printedName": "Swift.Encoder",
+ "usr": "s:s7EncoderP"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:12IOTBluetooth9IBMp3FileC6encode2toys7Encoder_p_tKF",
+ "mangledName": "$s12IOTBluetooth9IBMp3FileC6encode2toys7Encoder_p_tKF",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "throwing": true,
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(from:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBMp3File",
+ "printedName": "IOTBluetooth.IBMp3File",
+ "usr": "s:12IOTBluetooth9IBMp3FileC"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Decoder",
+ "printedName": "Swift.Decoder",
+ "usr": "s:s7DecoderP"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth9IBMp3FileC4fromACs7Decoder_p_tKcfc",
+ "mangledName": "$s12IOTBluetooth9IBMp3FileC4fromACs7Decoder_p_tKcfc",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "declAttributes": [
+ "Required"
+ ],
+ "throwing": true,
+ "init_kind": "Designated"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:12IOTBluetooth9IBMp3FileC",
+ "mangledName": "$s12IOTBluetooth9IBMp3FileC",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasMissingDesignatedInitializers": true,
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Decodable",
+ "printedName": "Decodable",
+ "usr": "s:Se",
+ "mangledName": "$sSe"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Encodable",
+ "printedName": "Encodable",
+ "usr": "s:SE",
+ "mangledName": "$sSE"
+ }
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBManager",
+ "printedName": "IBManager",
+ "children": [
+ {
+ "kind": "Function",
+ "name": "initializationSDK",
+ "printedName": "initializationSDK()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:12IOTBluetooth9IBManagerC17initializationSDKyyFZ",
+ "mangledName": "$s12IOTBluetooth9IBManagerC17initializationSDKyyFZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "Final",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Var",
+ "name": "logs",
+ "printedName": "logs",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[Swift.String]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBManagerC4logsSaySSGvpZ",
+ "mangledName": "$s12IOTBluetooth9IBManagerC4logsSaySSGvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "Final",
+ "AccessControl"
+ ],
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[Swift.String]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBManagerC4logsSaySSGvgZ",
+ "mangledName": "$s12IOTBluetooth9IBManagerC4logsSaySSGvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Function",
+ "name": "subscribe",
+ "printedName": "subscribe(_:observer:receive:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Name",
+ "printedName": "IOTBluetooth.IBNotify.Name",
+ "usr": "s:12IOTBluetooth8IBNotifyC4NameV"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "ImplicitlyUnwrappedOptional",
+ "printedName": "ObjectiveC.NSObjectProtocol?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "NSObjectProtocol",
+ "printedName": "ObjectiveC.NSObjectProtocol",
+ "usr": "c:objc(pl)NSObject"
+ }
+ ],
+ "usr": "s:Sq"
+ },
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(Any?, [Swift.String : Any]) -> ()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Tuple",
+ "printedName": "(Any?, [Swift.String : Any])",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Any?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "ProtocolComposition",
+ "printedName": "Any"
+ }
+ ],
+ "usr": "s:Sq"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Dictionary",
+ "printedName": "[Swift.String : Any]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "ProtocolComposition",
+ "printedName": "Any"
+ }
+ ],
+ "usr": "s:SD"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:12IOTBluetooth9IBManagerC9subscribe_8observer7receiveyAA8IBNotifyC4NameV_So8NSObject_pSgyypSg_SDySSypGtctFZ",
+ "mangledName": "$s12IOTBluetooth9IBManagerC9subscribe_8observer7receiveyAA8IBNotifyC4NameV_So8NSObject_pSgyypSg_SDySSypGtctFZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "Final",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Function",
+ "name": "remove",
+ "printedName": "remove(_:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "NSObjectProtocol",
+ "printedName": "ObjectiveC.NSObjectProtocol",
+ "usr": "c:objc(pl)NSObject"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:12IOTBluetooth9IBManagerC6removeyySo8NSObject_pFZ",
+ "mangledName": "$s12IOTBluetooth9IBManagerC6removeyySo8NSObject_pFZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "Final",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Var",
+ "name": "version",
+ "printedName": "version",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBManagerC7versionSSvpZ",
+ "mangledName": "$s12IOTBluetooth9IBManagerC7versionSSvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBManagerC7versionSSvgZ",
+ "mangledName": "$s12IOTBluetooth9IBManagerC7versionSSvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "isDebug",
+ "printedName": "isDebug",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Bool",
+ "printedName": "Swift.Bool",
+ "usr": "s:Sb"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBManagerC7isDebugSbvpZ",
+ "mangledName": "$s12IOTBluetooth9IBManagerC7isDebugSbvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Bool",
+ "printedName": "Swift.Bool",
+ "usr": "s:Sb"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBManagerC7isDebugSbvgZ",
+ "mangledName": "$s12IOTBluetooth9IBManagerC7isDebugSbvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Bool",
+ "printedName": "Swift.Bool",
+ "usr": "s:Sb"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBManagerC7isDebugSbvsZ",
+ "mangledName": "$s12IOTBluetooth9IBManagerC7isDebugSbvsZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBManagerC7isDebugSbvMZ",
+ "mangledName": "$s12IOTBluetooth9IBManagerC7isDebugSbvMZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Function",
+ "name": "scan",
+ "printedName": "scan(_:discoverHandler:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "IBScanOption",
+ "printedName": "IOTBluetooth.IBScanOption",
+ "hasDefaultArg": true,
+ "usr": "s:12IOTBluetooth12IBScanOptionC"
+ },
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBPeripheral) -> ()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "IBPeripheral",
+ "printedName": "IOTBluetooth.IBPeripheral",
+ "usr": "s:12IOTBluetooth12IBPeripheralC"
+ }
+ ]
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:12IOTBluetooth9IBManagerC4scan_15discoverHandleryAA12IBScanOptionC_yAA12IBPeripheralCctFZ",
+ "mangledName": "$s12IOTBluetooth9IBManagerC4scan_15discoverHandleryAA12IBScanOptionC_yAA12IBPeripheralCctFZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "Final",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Function",
+ "name": "stopScan",
+ "printedName": "stopScan()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:12IOTBluetooth9IBManagerC8stopScanyyFZ",
+ "mangledName": "$s12IOTBluetooth9IBManagerC8stopScanyyFZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "Final",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Function",
+ "name": "connect",
+ "printedName": "connect(_:completeHandler:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "IBPeripheral",
+ "printedName": "IOTBluetooth.IBPeripheral",
+ "usr": "s:12IOTBluetooth12IBPeripheralC"
+ },
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(Swift.Bool) -> ()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Bool",
+ "printedName": "Swift.Bool",
+ "usr": "s:Sb"
+ }
+ ]
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:12IOTBluetooth9IBManagerC7connect_15completeHandleryAA12IBPeripheralC_ySbctFZ",
+ "mangledName": "$s12IOTBluetooth9IBManagerC7connect_15completeHandleryAA12IBPeripheralC_ySbctFZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "Final",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Function",
+ "name": "cancel",
+ "printedName": "cancel(_:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "IBPeripheral",
+ "printedName": "IOTBluetooth.IBPeripheral",
+ "usr": "s:12IOTBluetooth12IBPeripheralC"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:12IOTBluetooth9IBManagerC6cancelyyAA12IBPeripheralCFZ",
+ "mangledName": "$s12IOTBluetooth9IBManagerC6cancelyyAA12IBPeripheralCFZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "Final",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Var",
+ "name": "currentConnected",
+ "printedName": "currentConnected",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "ImplicitlyUnwrappedOptional",
+ "printedName": "IOTBluetooth.IBPeripheral?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBPeripheral",
+ "printedName": "IOTBluetooth.IBPeripheral",
+ "usr": "s:12IOTBluetooth12IBPeripheralC"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBManagerC16currentConnectedAA12IBPeripheralCSgvpZ",
+ "mangledName": "$s12IOTBluetooth9IBManagerC16currentConnectedAA12IBPeripheralCSgvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "Final",
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "ImplicitlyUnwrappedOptional",
+ "printedName": "IOTBluetooth.IBPeripheral?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBPeripheral",
+ "printedName": "IOTBluetooth.IBPeripheral",
+ "usr": "s:12IOTBluetooth12IBPeripheralC"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBManagerC16currentConnectedAA12IBPeripheralCSgvgZ",
+ "mangledName": "$s12IOTBluetooth9IBManagerC16currentConnectedAA12IBPeripheralCSgvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:12IOTBluetooth9IBManagerC",
+ "mangledName": "$s12IOTBluetooth9IBManagerC",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasMissingDesignatedInitializers": true
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "MixSdk",
+ "printedName": "MixSdk",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth"
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBPhoneInfo",
+ "printedName": "IBPhoneInfo",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "name",
+ "printedName": "name",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth11IBPhoneInfoC4nameSSvp",
+ "mangledName": "$s12IOTBluetooth11IBPhoneInfoC4nameSSvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth11IBPhoneInfoC4nameSSvg",
+ "mangledName": "$s12IOTBluetooth11IBPhoneInfoC4nameSSvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth11IBPhoneInfoC4nameSSvs",
+ "mangledName": "$s12IOTBluetooth11IBPhoneInfoC4nameSSvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth11IBPhoneInfoC4nameSSvM",
+ "mangledName": "$s12IOTBluetooth11IBPhoneInfoC4nameSSvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "type",
+ "printedName": "type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth11IBPhoneInfoC4typeSivp",
+ "mangledName": "$s12IOTBluetooth11IBPhoneInfoC4typeSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth11IBPhoneInfoC4typeSivg",
+ "mangledName": "$s12IOTBluetooth11IBPhoneInfoC4typeSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth11IBPhoneInfoC4typeSivs",
+ "mangledName": "$s12IOTBluetooth11IBPhoneInfoC4typeSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth11IBPhoneInfoC4typeSivM",
+ "mangledName": "$s12IOTBluetooth11IBPhoneInfoC4typeSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "mac",
+ "printedName": "mac",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "[Swift.Int]?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[Swift.Int]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth11IBPhoneInfoC3macSaySiGSgvp",
+ "mangledName": "$s12IOTBluetooth11IBPhoneInfoC3macSaySiGSgvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "[Swift.Int]?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[Swift.Int]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth11IBPhoneInfoC3macSaySiGSgvg",
+ "mangledName": "$s12IOTBluetooth11IBPhoneInfoC3macSaySiGSgvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "[Swift.Int]?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[Swift.Int]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth11IBPhoneInfoC3macSaySiGSgvs",
+ "mangledName": "$s12IOTBluetooth11IBPhoneInfoC3macSaySiGSgvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth11IBPhoneInfoC3macSaySiGSgvM",
+ "mangledName": "$s12IOTBluetooth11IBPhoneInfoC3macSaySiGSgvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBPhoneInfo",
+ "printedName": "IOTBluetooth.IBPhoneInfo",
+ "usr": "s:12IOTBluetooth11IBPhoneInfoC"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth11IBPhoneInfoCACycfc",
+ "mangledName": "$s12IOTBluetooth11IBPhoneInfoCACycfc",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Function",
+ "name": "encode",
+ "printedName": "encode(to:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Encoder",
+ "printedName": "Swift.Encoder",
+ "usr": "s:s7EncoderP"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:12IOTBluetooth11IBPhoneInfoC6encode2toys7Encoder_p_tKF",
+ "mangledName": "$s12IOTBluetooth11IBPhoneInfoC6encode2toys7Encoder_p_tKF",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "throwing": true,
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(from:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBPhoneInfo",
+ "printedName": "IOTBluetooth.IBPhoneInfo",
+ "usr": "s:12IOTBluetooth11IBPhoneInfoC"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Decoder",
+ "printedName": "Swift.Decoder",
+ "usr": "s:s7DecoderP"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth11IBPhoneInfoC4fromACs7Decoder_p_tKcfc",
+ "mangledName": "$s12IOTBluetooth11IBPhoneInfoC4fromACs7Decoder_p_tKcfc",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "declAttributes": [
+ "Required"
+ ],
+ "throwing": true,
+ "init_kind": "Designated"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:12IOTBluetooth11IBPhoneInfoC",
+ "mangledName": "$s12IOTBluetooth11IBPhoneInfoC",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Decodable",
+ "printedName": "Decodable",
+ "usr": "s:Se",
+ "mangledName": "$sSe"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Encodable",
+ "printedName": "Encodable",
+ "usr": "s:SE",
+ "mangledName": "$sSE"
+ }
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBHistorySleepItem",
+ "printedName": "IBHistorySleepItem",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "sleepId",
+ "printedName": "sleepId",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth18IBHistorySleepItemC7sleepIdSivp",
+ "mangledName": "$s12IOTBluetooth18IBHistorySleepItemC7sleepIdSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth18IBHistorySleepItemC7sleepIdSivg",
+ "mangledName": "$s12IOTBluetooth18IBHistorySleepItemC7sleepIdSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth18IBHistorySleepItemC7sleepIdSivs",
+ "mangledName": "$s12IOTBluetooth18IBHistorySleepItemC7sleepIdSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth18IBHistorySleepItemC7sleepIdSivM",
+ "mangledName": "$s12IOTBluetooth18IBHistorySleepItemC7sleepIdSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "type",
+ "printedName": "type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth18IBHistorySleepItemC4typeSivp",
+ "mangledName": "$s12IOTBluetooth18IBHistorySleepItemC4typeSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth18IBHistorySleepItemC4typeSivg",
+ "mangledName": "$s12IOTBluetooth18IBHistorySleepItemC4typeSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth18IBHistorySleepItemC4typeSivs",
+ "mangledName": "$s12IOTBluetooth18IBHistorySleepItemC4typeSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth18IBHistorySleepItemC4typeSivM",
+ "mangledName": "$s12IOTBluetooth18IBHistorySleepItemC4typeSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "startTime",
+ "printedName": "startTime",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth18IBHistorySleepItemC9startTimeSivp",
+ "mangledName": "$s12IOTBluetooth18IBHistorySleepItemC9startTimeSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth18IBHistorySleepItemC9startTimeSivg",
+ "mangledName": "$s12IOTBluetooth18IBHistorySleepItemC9startTimeSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth18IBHistorySleepItemC9startTimeSivs",
+ "mangledName": "$s12IOTBluetooth18IBHistorySleepItemC9startTimeSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth18IBHistorySleepItemC9startTimeSivM",
+ "mangledName": "$s12IOTBluetooth18IBHistorySleepItemC9startTimeSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "endTime",
+ "printedName": "endTime",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth18IBHistorySleepItemC7endTimeSivp",
+ "mangledName": "$s12IOTBluetooth18IBHistorySleepItemC7endTimeSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth18IBHistorySleepItemC7endTimeSivg",
+ "mangledName": "$s12IOTBluetooth18IBHistorySleepItemC7endTimeSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth18IBHistorySleepItemC7endTimeSivs",
+ "mangledName": "$s12IOTBluetooth18IBHistorySleepItemC7endTimeSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth18IBHistorySleepItemC7endTimeSivM",
+ "mangledName": "$s12IOTBluetooth18IBHistorySleepItemC7endTimeSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "totalSleep",
+ "printedName": "totalSleep",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBSleepTime",
+ "printedName": "IOTBluetooth.IBSleepTime",
+ "usr": "s:12IOTBluetooth11IBSleepTimeV"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth18IBHistorySleepItemC05totalC0AA11IBSleepTimeVvp",
+ "mangledName": "$s12IOTBluetooth18IBHistorySleepItemC05totalC0AA11IBSleepTimeVvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBSleepTime",
+ "printedName": "IOTBluetooth.IBSleepTime",
+ "usr": "s:12IOTBluetooth11IBSleepTimeV"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth18IBHistorySleepItemC05totalC0AA11IBSleepTimeVvg",
+ "mangledName": "$s12IOTBluetooth18IBHistorySleepItemC05totalC0AA11IBSleepTimeVvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "IBSleepTime",
+ "printedName": "IOTBluetooth.IBSleepTime",
+ "usr": "s:12IOTBluetooth11IBSleepTimeV"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth18IBHistorySleepItemC05totalC0AA11IBSleepTimeVvs",
+ "mangledName": "$s12IOTBluetooth18IBHistorySleepItemC05totalC0AA11IBSleepTimeVvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth18IBHistorySleepItemC05totalC0AA11IBSleepTimeVvM",
+ "mangledName": "$s12IOTBluetooth18IBHistorySleepItemC05totalC0AA11IBSleepTimeVvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "deepSleep",
+ "printedName": "deepSleep",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "IOTBluetooth.IBSleepTime?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBSleepTime",
+ "printedName": "IOTBluetooth.IBSleepTime",
+ "usr": "s:12IOTBluetooth11IBSleepTimeV"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth18IBHistorySleepItemC04deepC0AA11IBSleepTimeVSgvp",
+ "mangledName": "$s12IOTBluetooth18IBHistorySleepItemC04deepC0AA11IBSleepTimeVSgvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "IOTBluetooth.IBSleepTime?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBSleepTime",
+ "printedName": "IOTBluetooth.IBSleepTime",
+ "usr": "s:12IOTBluetooth11IBSleepTimeV"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth18IBHistorySleepItemC04deepC0AA11IBSleepTimeVSgvg",
+ "mangledName": "$s12IOTBluetooth18IBHistorySleepItemC04deepC0AA11IBSleepTimeVSgvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "IOTBluetooth.IBSleepTime?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBSleepTime",
+ "printedName": "IOTBluetooth.IBSleepTime",
+ "usr": "s:12IOTBluetooth11IBSleepTimeV"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth18IBHistorySleepItemC04deepC0AA11IBSleepTimeVSgvs",
+ "mangledName": "$s12IOTBluetooth18IBHistorySleepItemC04deepC0AA11IBSleepTimeVSgvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth18IBHistorySleepItemC04deepC0AA11IBSleepTimeVSgvM",
+ "mangledName": "$s12IOTBluetooth18IBHistorySleepItemC04deepC0AA11IBSleepTimeVSgvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "lightSleep",
+ "printedName": "lightSleep",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "IOTBluetooth.IBSleepTime?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBSleepTime",
+ "printedName": "IOTBluetooth.IBSleepTime",
+ "usr": "s:12IOTBluetooth11IBSleepTimeV"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth18IBHistorySleepItemC05lightC0AA11IBSleepTimeVSgvp",
+ "mangledName": "$s12IOTBluetooth18IBHistorySleepItemC05lightC0AA11IBSleepTimeVSgvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "IOTBluetooth.IBSleepTime?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBSleepTime",
+ "printedName": "IOTBluetooth.IBSleepTime",
+ "usr": "s:12IOTBluetooth11IBSleepTimeV"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth18IBHistorySleepItemC05lightC0AA11IBSleepTimeVSgvg",
+ "mangledName": "$s12IOTBluetooth18IBHistorySleepItemC05lightC0AA11IBSleepTimeVSgvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "IOTBluetooth.IBSleepTime?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBSleepTime",
+ "printedName": "IOTBluetooth.IBSleepTime",
+ "usr": "s:12IOTBluetooth11IBSleepTimeV"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth18IBHistorySleepItemC05lightC0AA11IBSleepTimeVSgvs",
+ "mangledName": "$s12IOTBluetooth18IBHistorySleepItemC05lightC0AA11IBSleepTimeVSgvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth18IBHistorySleepItemC05lightC0AA11IBSleepTimeVSgvM",
+ "mangledName": "$s12IOTBluetooth18IBHistorySleepItemC05lightC0AA11IBSleepTimeVSgvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "remSleep",
+ "printedName": "remSleep",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "IOTBluetooth.IBSleepTime?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBSleepTime",
+ "printedName": "IOTBluetooth.IBSleepTime",
+ "usr": "s:12IOTBluetooth11IBSleepTimeV"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth18IBHistorySleepItemC03remC0AA11IBSleepTimeVSgvp",
+ "mangledName": "$s12IOTBluetooth18IBHistorySleepItemC03remC0AA11IBSleepTimeVSgvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "IOTBluetooth.IBSleepTime?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBSleepTime",
+ "printedName": "IOTBluetooth.IBSleepTime",
+ "usr": "s:12IOTBluetooth11IBSleepTimeV"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth18IBHistorySleepItemC03remC0AA11IBSleepTimeVSgvg",
+ "mangledName": "$s12IOTBluetooth18IBHistorySleepItemC03remC0AA11IBSleepTimeVSgvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "IOTBluetooth.IBSleepTime?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBSleepTime",
+ "printedName": "IOTBluetooth.IBSleepTime",
+ "usr": "s:12IOTBluetooth11IBSleepTimeV"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth18IBHistorySleepItemC03remC0AA11IBSleepTimeVSgvs",
+ "mangledName": "$s12IOTBluetooth18IBHistorySleepItemC03remC0AA11IBSleepTimeVSgvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth18IBHistorySleepItemC03remC0AA11IBSleepTimeVSgvM",
+ "mangledName": "$s12IOTBluetooth18IBHistorySleepItemC03remC0AA11IBSleepTimeVSgvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "awake",
+ "printedName": "awake",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "IOTBluetooth.IBSleepTime?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBSleepTime",
+ "printedName": "IOTBluetooth.IBSleepTime",
+ "usr": "s:12IOTBluetooth11IBSleepTimeV"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth18IBHistorySleepItemC5awakeAA11IBSleepTimeVSgvp",
+ "mangledName": "$s12IOTBluetooth18IBHistorySleepItemC5awakeAA11IBSleepTimeVSgvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "IOTBluetooth.IBSleepTime?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBSleepTime",
+ "printedName": "IOTBluetooth.IBSleepTime",
+ "usr": "s:12IOTBluetooth11IBSleepTimeV"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth18IBHistorySleepItemC5awakeAA11IBSleepTimeVSgvg",
+ "mangledName": "$s12IOTBluetooth18IBHistorySleepItemC5awakeAA11IBSleepTimeVSgvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "IOTBluetooth.IBSleepTime?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBSleepTime",
+ "printedName": "IOTBluetooth.IBSleepTime",
+ "usr": "s:12IOTBluetooth11IBSleepTimeV"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth18IBHistorySleepItemC5awakeAA11IBSleepTimeVSgvs",
+ "mangledName": "$s12IOTBluetooth18IBHistorySleepItemC5awakeAA11IBSleepTimeVSgvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth18IBHistorySleepItemC5awakeAA11IBSleepTimeVSgvM",
+ "mangledName": "$s12IOTBluetooth18IBHistorySleepItemC5awakeAA11IBSleepTimeVSgvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "states",
+ "printedName": "states",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "[IOTBluetooth.IBSleepState]?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[IOTBluetooth.IBSleepState]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBSleepState",
+ "printedName": "IOTBluetooth.IBSleepState",
+ "usr": "s:12IOTBluetooth12IBSleepStateV"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth18IBHistorySleepItemC6statesSayAA12IBSleepStateVGSgvp",
+ "mangledName": "$s12IOTBluetooth18IBHistorySleepItemC6statesSayAA12IBSleepStateVGSgvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "[IOTBluetooth.IBSleepState]?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[IOTBluetooth.IBSleepState]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBSleepState",
+ "printedName": "IOTBluetooth.IBSleepState",
+ "usr": "s:12IOTBluetooth12IBSleepStateV"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth18IBHistorySleepItemC6statesSayAA12IBSleepStateVGSgvg",
+ "mangledName": "$s12IOTBluetooth18IBHistorySleepItemC6statesSayAA12IBSleepStateVGSgvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "[IOTBluetooth.IBSleepState]?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[IOTBluetooth.IBSleepState]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBSleepState",
+ "printedName": "IOTBluetooth.IBSleepState",
+ "usr": "s:12IOTBluetooth12IBSleepStateV"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth18IBHistorySleepItemC6statesSayAA12IBSleepStateVGSgvs",
+ "mangledName": "$s12IOTBluetooth18IBHistorySleepItemC6statesSayAA12IBSleepStateVGSgvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth18IBHistorySleepItemC6statesSayAA12IBSleepStateVGSgvM",
+ "mangledName": "$s12IOTBluetooth18IBHistorySleepItemC6statesSayAA12IBSleepStateVGSgvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBHistorySleepItem",
+ "printedName": "IOTBluetooth.IBHistorySleepItem",
+ "usr": "s:12IOTBluetooth18IBHistorySleepItemC"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth18IBHistorySleepItemCACycfc",
+ "mangledName": "$s12IOTBluetooth18IBHistorySleepItemCACycfc",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "init_kind": "Designated"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:12IOTBluetooth18IBHistorySleepItemC",
+ "mangledName": "$s12IOTBluetooth18IBHistorySleepItemC",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBSleepTime",
+ "printedName": "IBSleepTime",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "hour",
+ "printedName": "hour",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth11IBSleepTimeV4hourSivp",
+ "mangledName": "$s12IOTBluetooth11IBSleepTimeV4hourSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth11IBSleepTimeV4hourSivg",
+ "mangledName": "$s12IOTBluetooth11IBSleepTimeV4hourSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth11IBSleepTimeV4hourSivs",
+ "mangledName": "$s12IOTBluetooth11IBSleepTimeV4hourSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth11IBSleepTimeV4hourSivM",
+ "mangledName": "$s12IOTBluetooth11IBSleepTimeV4hourSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "minute",
+ "printedName": "minute",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth11IBSleepTimeV6minuteSivp",
+ "mangledName": "$s12IOTBluetooth11IBSleepTimeV6minuteSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth11IBSleepTimeV6minuteSivg",
+ "mangledName": "$s12IOTBluetooth11IBSleepTimeV6minuteSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth11IBSleepTimeV6minuteSivs",
+ "mangledName": "$s12IOTBluetooth11IBSleepTimeV6minuteSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth11IBSleepTimeV6minuteSivM",
+ "mangledName": "$s12IOTBluetooth11IBSleepTimeV6minuteSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(hour:minute:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBSleepTime",
+ "printedName": "IOTBluetooth.IBSleepTime",
+ "usr": "s:12IOTBluetooth11IBSleepTimeV"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth11IBSleepTimeV4hour6minuteACSi_Sitcfc",
+ "mangledName": "$s12IOTBluetooth11IBSleepTimeV4hour6minuteACSi_Sitcfc",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "init_kind": "Designated"
+ }
+ ],
+ "declKind": "Struct",
+ "usr": "s:12IOTBluetooth11IBSleepTimeV",
+ "mangledName": "$s12IOTBluetooth11IBSleepTimeV",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBSleepState",
+ "printedName": "IBSleepState",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "time",
+ "printedName": "time",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth12IBSleepStateV4timeSivp",
+ "mangledName": "$s12IOTBluetooth12IBSleepStateV4timeSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBSleepStateV4timeSivg",
+ "mangledName": "$s12IOTBluetooth12IBSleepStateV4timeSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBSleepStateV4timeSivs",
+ "mangledName": "$s12IOTBluetooth12IBSleepStateV4timeSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBSleepStateV4timeSivM",
+ "mangledName": "$s12IOTBluetooth12IBSleepStateV4timeSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "state",
+ "printedName": "state",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth12IBSleepStateV5stateSivp",
+ "mangledName": "$s12IOTBluetooth12IBSleepStateV5stateSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBSleepStateV5stateSivg",
+ "mangledName": "$s12IOTBluetooth12IBSleepStateV5stateSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBSleepStateV5stateSivs",
+ "mangledName": "$s12IOTBluetooth12IBSleepStateV5stateSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBSleepStateV5stateSivM",
+ "mangledName": "$s12IOTBluetooth12IBSleepStateV5stateSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(time:state:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBSleepState",
+ "printedName": "IOTBluetooth.IBSleepState",
+ "usr": "s:12IOTBluetooth12IBSleepStateV"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth12IBSleepStateV4time5stateACSi_Sitcfc",
+ "mangledName": "$s12IOTBluetooth12IBSleepStateV4time5stateACSi_Sitcfc",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "init_kind": "Designated"
+ }
+ ],
+ "declKind": "Struct",
+ "usr": "s:12IOTBluetooth12IBSleepStateV",
+ "mangledName": "$s12IOTBluetooth12IBSleepStateV",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBAiResponse",
+ "printedName": "IBAiResponse",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "value",
+ "printedName": "value",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth12IBAiResponseC5valueSSvp",
+ "mangledName": "$s12IOTBluetooth12IBAiResponseC5valueSSvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBAiResponseC5valueSSvg",
+ "mangledName": "$s12IOTBluetooth12IBAiResponseC5valueSSvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBAiResponseC5valueSSvs",
+ "mangledName": "$s12IOTBluetooth12IBAiResponseC5valueSSvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBAiResponseC5valueSSvM",
+ "mangledName": "$s12IOTBluetooth12IBAiResponseC5valueSSvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAiResponse",
+ "printedName": "IOTBluetooth.IBAiResponse",
+ "usr": "s:12IOTBluetooth12IBAiResponseC"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth12IBAiResponseCACycfc",
+ "mangledName": "$s12IOTBluetooth12IBAiResponseCACycfc",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Var",
+ "name": "description",
+ "printedName": "description",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth12IBAiResponseC11descriptionSSvp",
+ "mangledName": "$s12IOTBluetooth12IBAiResponseC11descriptionSSvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBAiResponseC11descriptionSSvg",
+ "mangledName": "$s12IOTBluetooth12IBAiResponseC11descriptionSSvg",
+ "moduleName": "IOTBluetooth",
+ "accessorKind": "get"
+ }
+ ]
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:12IOTBluetooth12IBAiResponseC",
+ "mangledName": "$s12IOTBluetooth12IBAiResponseC",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBClock",
+ "printedName": "IBClock",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "alarms",
+ "printedName": "alarms",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[IOTBluetooth.IBClockInfo]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBClockInfo",
+ "printedName": "IOTBluetooth.IBClockInfo",
+ "usr": "s:12IOTBluetooth11IBClockInfoC"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth7IBClockC6alarmsSayAA0B4InfoCGvp",
+ "mangledName": "$s12IOTBluetooth7IBClockC6alarmsSayAA0B4InfoCGvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[IOTBluetooth.IBClockInfo]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBClockInfo",
+ "printedName": "IOTBluetooth.IBClockInfo",
+ "usr": "s:12IOTBluetooth11IBClockInfoC"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth7IBClockC6alarmsSayAA0B4InfoCGvg",
+ "mangledName": "$s12IOTBluetooth7IBClockC6alarmsSayAA0B4InfoCGvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[IOTBluetooth.IBClockInfo]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBClockInfo",
+ "printedName": "IOTBluetooth.IBClockInfo",
+ "usr": "s:12IOTBluetooth11IBClockInfoC"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth7IBClockC6alarmsSayAA0B4InfoCGvs",
+ "mangledName": "$s12IOTBluetooth7IBClockC6alarmsSayAA0B4InfoCGvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth7IBClockC6alarmsSayAA0B4InfoCGvM",
+ "mangledName": "$s12IOTBluetooth7IBClockC6alarmsSayAA0B4InfoCGvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBClock",
+ "printedName": "IOTBluetooth.IBClock",
+ "usr": "s:12IOTBluetooth7IBClockC"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth7IBClockCACycfc",
+ "mangledName": "$s12IOTBluetooth7IBClockCACycfc",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Function",
+ "name": "encode",
+ "printedName": "encode(to:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Encoder",
+ "printedName": "Swift.Encoder",
+ "usr": "s:s7EncoderP"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:12IOTBluetooth7IBClockC6encode2toys7Encoder_p_tKF",
+ "mangledName": "$s12IOTBluetooth7IBClockC6encode2toys7Encoder_p_tKF",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "throwing": true,
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(from:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBClock",
+ "printedName": "IOTBluetooth.IBClock",
+ "usr": "s:12IOTBluetooth7IBClockC"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Decoder",
+ "printedName": "Swift.Decoder",
+ "usr": "s:s7DecoderP"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth7IBClockC4fromACs7Decoder_p_tKcfc",
+ "mangledName": "$s12IOTBluetooth7IBClockC4fromACs7Decoder_p_tKcfc",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "declAttributes": [
+ "Required"
+ ],
+ "throwing": true,
+ "init_kind": "Designated"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:12IOTBluetooth7IBClockC",
+ "mangledName": "$s12IOTBluetooth7IBClockC",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Decodable",
+ "printedName": "Decodable",
+ "usr": "s:Se",
+ "mangledName": "$sSe"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Encodable",
+ "printedName": "Encodable",
+ "usr": "s:SE",
+ "mangledName": "$sSE"
+ }
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBClockInfo",
+ "printedName": "IBClockInfo",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "id",
+ "printedName": "id",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth11IBClockInfoC2idSivp",
+ "mangledName": "$s12IOTBluetooth11IBClockInfoC2idSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth11IBClockInfoC2idSivg",
+ "mangledName": "$s12IOTBluetooth11IBClockInfoC2idSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth11IBClockInfoC2idSivs",
+ "mangledName": "$s12IOTBluetooth11IBClockInfoC2idSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth11IBClockInfoC2idSivM",
+ "mangledName": "$s12IOTBluetooth11IBClockInfoC2idSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "hour",
+ "printedName": "hour",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth11IBClockInfoC4hourSivp",
+ "mangledName": "$s12IOTBluetooth11IBClockInfoC4hourSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth11IBClockInfoC4hourSivg",
+ "mangledName": "$s12IOTBluetooth11IBClockInfoC4hourSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth11IBClockInfoC4hourSivs",
+ "mangledName": "$s12IOTBluetooth11IBClockInfoC4hourSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth11IBClockInfoC4hourSivM",
+ "mangledName": "$s12IOTBluetooth11IBClockInfoC4hourSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "minute",
+ "printedName": "minute",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth11IBClockInfoC6minuteSivp",
+ "mangledName": "$s12IOTBluetooth11IBClockInfoC6minuteSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth11IBClockInfoC6minuteSivg",
+ "mangledName": "$s12IOTBluetooth11IBClockInfoC6minuteSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth11IBClockInfoC6minuteSivs",
+ "mangledName": "$s12IOTBluetooth11IBClockInfoC6minuteSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth11IBClockInfoC6minuteSivM",
+ "mangledName": "$s12IOTBluetooth11IBClockInfoC6minuteSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "enable",
+ "printedName": "enable",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth11IBClockInfoC6enableSivp",
+ "mangledName": "$s12IOTBluetooth11IBClockInfoC6enableSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth11IBClockInfoC6enableSivg",
+ "mangledName": "$s12IOTBluetooth11IBClockInfoC6enableSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth11IBClockInfoC6enableSivs",
+ "mangledName": "$s12IOTBluetooth11IBClockInfoC6enableSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth11IBClockInfoC6enableSivM",
+ "mangledName": "$s12IOTBluetooth11IBClockInfoC6enableSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "repeat",
+ "printedName": "repeat",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[Swift.Int]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth11IBClockInfoC6repeatSaySiGvp",
+ "mangledName": "$s12IOTBluetooth11IBClockInfoC6repeatSaySiGvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[Swift.Int]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth11IBClockInfoC6repeatSaySiGvg",
+ "mangledName": "$s12IOTBluetooth11IBClockInfoC6repeatSaySiGvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[Swift.Int]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth11IBClockInfoC6repeatSaySiGvs",
+ "mangledName": "$s12IOTBluetooth11IBClockInfoC6repeatSaySiGvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth11IBClockInfoC6repeatSaySiGvM",
+ "mangledName": "$s12IOTBluetooth11IBClockInfoC6repeatSaySiGvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBClockInfo",
+ "printedName": "IOTBluetooth.IBClockInfo",
+ "usr": "s:12IOTBluetooth11IBClockInfoC"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth11IBClockInfoCACycfc",
+ "mangledName": "$s12IOTBluetooth11IBClockInfoCACycfc",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(from:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBClockInfo",
+ "printedName": "IOTBluetooth.IBClockInfo",
+ "usr": "s:12IOTBluetooth11IBClockInfoC"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Decoder",
+ "printedName": "Swift.Decoder",
+ "usr": "s:s7DecoderP"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth11IBClockInfoC4fromACs7Decoder_p_tKcfc",
+ "mangledName": "$s12IOTBluetooth11IBClockInfoC4fromACs7Decoder_p_tKcfc",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "declAttributes": [
+ "Required"
+ ],
+ "throwing": true,
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Function",
+ "name": "encode",
+ "printedName": "encode(to:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Encoder",
+ "printedName": "Swift.Encoder",
+ "usr": "s:s7EncoderP"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:12IOTBluetooth11IBClockInfoC6encode2toys7Encoder_p_tKF",
+ "mangledName": "$s12IOTBluetooth11IBClockInfoC6encode2toys7Encoder_p_tKF",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "throwing": true,
+ "funcSelfKind": "NonMutating"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:12IOTBluetooth11IBClockInfoC",
+ "mangledName": "$s12IOTBluetooth11IBClockInfoC",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Decodable",
+ "printedName": "Decodable",
+ "usr": "s:Se",
+ "mangledName": "$sSe"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Encodable",
+ "printedName": "Encodable",
+ "usr": "s:SE",
+ "mangledName": "$sSE"
+ }
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBHeartRate",
+ "printedName": "IBHeartRate",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "rate",
+ "printedName": "rate",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBHeartRateFrequency",
+ "printedName": "IOTBluetooth.IBHeartRateFrequency",
+ "usr": "s:12IOTBluetooth20IBHeartRateFrequencyO"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth11IBHeartRateC4rateAA0bC9FrequencyOvp",
+ "mangledName": "$s12IOTBluetooth11IBHeartRateC4rateAA0bC9FrequencyOvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBHeartRateFrequency",
+ "printedName": "IOTBluetooth.IBHeartRateFrequency",
+ "usr": "s:12IOTBluetooth20IBHeartRateFrequencyO"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth11IBHeartRateC4rateAA0bC9FrequencyOvg",
+ "mangledName": "$s12IOTBluetooth11IBHeartRateC4rateAA0bC9FrequencyOvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "IBHeartRateFrequency",
+ "printedName": "IOTBluetooth.IBHeartRateFrequency",
+ "usr": "s:12IOTBluetooth20IBHeartRateFrequencyO"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth11IBHeartRateC4rateAA0bC9FrequencyOvs",
+ "mangledName": "$s12IOTBluetooth11IBHeartRateC4rateAA0bC9FrequencyOvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth11IBHeartRateC4rateAA0bC9FrequencyOvM",
+ "mangledName": "$s12IOTBluetooth11IBHeartRateC4rateAA0bC9FrequencyOvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "state",
+ "printedName": "state",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth11IBHeartRateC5stateSivp",
+ "mangledName": "$s12IOTBluetooth11IBHeartRateC5stateSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth11IBHeartRateC5stateSivg",
+ "mangledName": "$s12IOTBluetooth11IBHeartRateC5stateSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth11IBHeartRateC5stateSivs",
+ "mangledName": "$s12IOTBluetooth11IBHeartRateC5stateSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth11IBHeartRateC5stateSivM",
+ "mangledName": "$s12IOTBluetooth11IBHeartRateC5stateSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "higherOrLower",
+ "printedName": "higherOrLower",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth11IBHeartRateC13higherOrLowerSivp",
+ "mangledName": "$s12IOTBluetooth11IBHeartRateC13higherOrLowerSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth11IBHeartRateC13higherOrLowerSivg",
+ "mangledName": "$s12IOTBluetooth11IBHeartRateC13higherOrLowerSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth11IBHeartRateC13higherOrLowerSivs",
+ "mangledName": "$s12IOTBluetooth11IBHeartRateC13higherOrLowerSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth11IBHeartRateC13higherOrLowerSivM",
+ "mangledName": "$s12IOTBluetooth11IBHeartRateC13higherOrLowerSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "value",
+ "printedName": "value",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth11IBHeartRateC5valueSivp",
+ "mangledName": "$s12IOTBluetooth11IBHeartRateC5valueSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth11IBHeartRateC5valueSivg",
+ "mangledName": "$s12IOTBluetooth11IBHeartRateC5valueSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth11IBHeartRateC5valueSivs",
+ "mangledName": "$s12IOTBluetooth11IBHeartRateC5valueSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth11IBHeartRateC5valueSivM",
+ "mangledName": "$s12IOTBluetooth11IBHeartRateC5valueSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBHeartRate",
+ "printedName": "IOTBluetooth.IBHeartRate",
+ "usr": "s:12IOTBluetooth11IBHeartRateC"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth11IBHeartRateCACycfc",
+ "mangledName": "$s12IOTBluetooth11IBHeartRateCACycfc",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "init_kind": "Designated"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:12IOTBluetooth11IBHeartRateC",
+ "mangledName": "$s12IOTBluetooth11IBHeartRateC",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasMissingDesignatedInitializers": true
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBHeartRateFrequency",
+ "printedName": "IBHeartRateFrequency",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "none",
+ "printedName": "none",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBHeartRateFrequency.Type) -> IOTBluetooth.IBHeartRateFrequency",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBHeartRateFrequency",
+ "printedName": "IOTBluetooth.IBHeartRateFrequency",
+ "usr": "s:12IOTBluetooth20IBHeartRateFrequencyO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBHeartRateFrequency.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBHeartRateFrequency",
+ "printedName": "IOTBluetooth.IBHeartRateFrequency",
+ "usr": "s:12IOTBluetooth20IBHeartRateFrequencyO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth20IBHeartRateFrequencyO4noneyA2CmF",
+ "mangledName": "$s12IOTBluetooth20IBHeartRateFrequencyO4noneyA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "min1",
+ "printedName": "min1",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBHeartRateFrequency.Type) -> IOTBluetooth.IBHeartRateFrequency",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBHeartRateFrequency",
+ "printedName": "IOTBluetooth.IBHeartRateFrequency",
+ "usr": "s:12IOTBluetooth20IBHeartRateFrequencyO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBHeartRateFrequency.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBHeartRateFrequency",
+ "printedName": "IOTBluetooth.IBHeartRateFrequency",
+ "usr": "s:12IOTBluetooth20IBHeartRateFrequencyO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth20IBHeartRateFrequencyO4min1yA2CmF",
+ "mangledName": "$s12IOTBluetooth20IBHeartRateFrequencyO4min1yA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "min5",
+ "printedName": "min5",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBHeartRateFrequency.Type) -> IOTBluetooth.IBHeartRateFrequency",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBHeartRateFrequency",
+ "printedName": "IOTBluetooth.IBHeartRateFrequency",
+ "usr": "s:12IOTBluetooth20IBHeartRateFrequencyO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBHeartRateFrequency.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBHeartRateFrequency",
+ "printedName": "IOTBluetooth.IBHeartRateFrequency",
+ "usr": "s:12IOTBluetooth20IBHeartRateFrequencyO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth20IBHeartRateFrequencyO4min5yA2CmF",
+ "mangledName": "$s12IOTBluetooth20IBHeartRateFrequencyO4min5yA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "min10",
+ "printedName": "min10",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBHeartRateFrequency.Type) -> IOTBluetooth.IBHeartRateFrequency",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBHeartRateFrequency",
+ "printedName": "IOTBluetooth.IBHeartRateFrequency",
+ "usr": "s:12IOTBluetooth20IBHeartRateFrequencyO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBHeartRateFrequency.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBHeartRateFrequency",
+ "printedName": "IOTBluetooth.IBHeartRateFrequency",
+ "usr": "s:12IOTBluetooth20IBHeartRateFrequencyO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth20IBHeartRateFrequencyO5min10yA2CmF",
+ "mangledName": "$s12IOTBluetooth20IBHeartRateFrequencyO5min10yA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "rawValue",
+ "printedName": "rawValue",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth20IBHeartRateFrequencyO8rawValueSivp",
+ "mangledName": "$s12IOTBluetooth20IBHeartRateFrequencyO8rawValueSivp",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth20IBHeartRateFrequencyO8rawValueSivg",
+ "mangledName": "$s12IOTBluetooth20IBHeartRateFrequencyO8rawValueSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(rawValue:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "IOTBluetooth.IBHeartRateFrequency?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBHeartRateFrequency",
+ "printedName": "IOTBluetooth.IBHeartRateFrequency",
+ "usr": "s:12IOTBluetooth20IBHeartRateFrequencyO"
+ }
+ ],
+ "usr": "s:Sq"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth20IBHeartRateFrequencyO8rawValueACSgSi_tcfc",
+ "mangledName": "$s12IOTBluetooth20IBHeartRateFrequencyO8rawValueACSgSi_tcfc",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "init_kind": "Designated"
+ }
+ ],
+ "declKind": "Enum",
+ "usr": "s:12IOTBluetooth20IBHeartRateFrequencyO",
+ "mangledName": "$s12IOTBluetooth20IBHeartRateFrequencyO",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "enumRawTypeName": "Int",
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Equatable",
+ "printedName": "Equatable",
+ "usr": "s:SQ",
+ "mangledName": "$sSQ"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Hashable",
+ "printedName": "Hashable",
+ "usr": "s:SH",
+ "mangledName": "$sSH"
+ },
+ {
+ "kind": "Conformance",
+ "name": "RawRepresentable",
+ "printedName": "RawRepresentable",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "RawValue",
+ "printedName": "RawValue",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ]
+ }
+ ],
+ "usr": "s:SY",
+ "mangledName": "$sSY"
+ }
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBWeather",
+ "printedName": "IBWeather",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "address",
+ "printedName": "address",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAddress",
+ "printedName": "IOTBluetooth.IBAddress",
+ "usr": "s:12IOTBluetooth9IBAddressC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBWeatherC7addressAA9IBAddressCvp",
+ "mangledName": "$s12IOTBluetooth9IBWeatherC7addressAA9IBAddressCvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAddress",
+ "printedName": "IOTBluetooth.IBAddress",
+ "usr": "s:12IOTBluetooth9IBAddressC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBWeatherC7addressAA9IBAddressCvg",
+ "mangledName": "$s12IOTBluetooth9IBWeatherC7addressAA9IBAddressCvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "IBAddress",
+ "printedName": "IOTBluetooth.IBAddress",
+ "usr": "s:12IOTBluetooth9IBAddressC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBWeatherC7addressAA9IBAddressCvs",
+ "mangledName": "$s12IOTBluetooth9IBWeatherC7addressAA9IBAddressCvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBWeatherC7addressAA9IBAddressCvM",
+ "mangledName": "$s12IOTBluetooth9IBWeatherC7addressAA9IBAddressCvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "now",
+ "printedName": "now",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBWeatherNow",
+ "printedName": "IOTBluetooth.IBWeatherNow",
+ "usr": "s:12IOTBluetooth12IBWeatherNowC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBWeatherC3nowAA0B3NowCvp",
+ "mangledName": "$s12IOTBluetooth9IBWeatherC3nowAA0B3NowCvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBWeatherNow",
+ "printedName": "IOTBluetooth.IBWeatherNow",
+ "usr": "s:12IOTBluetooth12IBWeatherNowC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBWeatherC3nowAA0B3NowCvg",
+ "mangledName": "$s12IOTBluetooth9IBWeatherC3nowAA0B3NowCvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "IBWeatherNow",
+ "printedName": "IOTBluetooth.IBWeatherNow",
+ "usr": "s:12IOTBluetooth12IBWeatherNowC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBWeatherC3nowAA0B3NowCvs",
+ "mangledName": "$s12IOTBluetooth9IBWeatherC3nowAA0B3NowCvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBWeatherC3nowAA0B3NowCvM",
+ "mangledName": "$s12IOTBluetooth9IBWeatherC3nowAA0B3NowCvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "daily",
+ "printedName": "daily",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[IOTBluetooth.IBWeatherInfo]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBWeatherInfo",
+ "printedName": "IOTBluetooth.IBWeatherInfo",
+ "usr": "s:12IOTBluetooth13IBWeatherInfoC"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBWeatherC5dailySayAA0B4InfoCGvp",
+ "mangledName": "$s12IOTBluetooth9IBWeatherC5dailySayAA0B4InfoCGvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[IOTBluetooth.IBWeatherInfo]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBWeatherInfo",
+ "printedName": "IOTBluetooth.IBWeatherInfo",
+ "usr": "s:12IOTBluetooth13IBWeatherInfoC"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBWeatherC5dailySayAA0B4InfoCGvg",
+ "mangledName": "$s12IOTBluetooth9IBWeatherC5dailySayAA0B4InfoCGvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[IOTBluetooth.IBWeatherInfo]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBWeatherInfo",
+ "printedName": "IOTBluetooth.IBWeatherInfo",
+ "usr": "s:12IOTBluetooth13IBWeatherInfoC"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBWeatherC5dailySayAA0B4InfoCGvs",
+ "mangledName": "$s12IOTBluetooth9IBWeatherC5dailySayAA0B4InfoCGvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBWeatherC5dailySayAA0B4InfoCGvM",
+ "mangledName": "$s12IOTBluetooth9IBWeatherC5dailySayAA0B4InfoCGvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBWeather",
+ "printedName": "IOTBluetooth.IBWeather",
+ "usr": "s:12IOTBluetooth9IBWeatherC"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth9IBWeatherCACycfc",
+ "mangledName": "$s12IOTBluetooth9IBWeatherCACycfc",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Function",
+ "name": "encode",
+ "printedName": "encode(to:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Encoder",
+ "printedName": "Swift.Encoder",
+ "usr": "s:s7EncoderP"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:12IOTBluetooth9IBWeatherC6encode2toys7Encoder_p_tKF",
+ "mangledName": "$s12IOTBluetooth9IBWeatherC6encode2toys7Encoder_p_tKF",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "throwing": true,
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(from:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBWeather",
+ "printedName": "IOTBluetooth.IBWeather",
+ "usr": "s:12IOTBluetooth9IBWeatherC"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Decoder",
+ "printedName": "Swift.Decoder",
+ "usr": "s:s7DecoderP"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth9IBWeatherC4fromACs7Decoder_p_tKcfc",
+ "mangledName": "$s12IOTBluetooth9IBWeatherC4fromACs7Decoder_p_tKcfc",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "declAttributes": [
+ "Required"
+ ],
+ "throwing": true,
+ "init_kind": "Designated"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:12IOTBluetooth9IBWeatherC",
+ "mangledName": "$s12IOTBluetooth9IBWeatherC",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Decodable",
+ "printedName": "Decodable",
+ "usr": "s:Se",
+ "mangledName": "$sSe"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Encodable",
+ "printedName": "Encodable",
+ "usr": "s:SE",
+ "mangledName": "$sSE"
+ }
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBAddress",
+ "printedName": "IBAddress",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "city",
+ "printedName": "city",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAddressC4citySSvp",
+ "mangledName": "$s12IOTBluetooth9IBAddressC4citySSvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAddressC4citySSvg",
+ "mangledName": "$s12IOTBluetooth9IBAddressC4citySSvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAddressC4citySSvs",
+ "mangledName": "$s12IOTBluetooth9IBAddressC4citySSvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAddressC4citySSvM",
+ "mangledName": "$s12IOTBluetooth9IBAddressC4citySSvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "subLocality",
+ "printedName": "subLocality",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAddressC11subLocalitySSvp",
+ "mangledName": "$s12IOTBluetooth9IBAddressC11subLocalitySSvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAddressC11subLocalitySSvg",
+ "mangledName": "$s12IOTBluetooth9IBAddressC11subLocalitySSvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAddressC11subLocalitySSvs",
+ "mangledName": "$s12IOTBluetooth9IBAddressC11subLocalitySSvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAddressC11subLocalitySSvM",
+ "mangledName": "$s12IOTBluetooth9IBAddressC11subLocalitySSvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "lat",
+ "printedName": "lat",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAddressC3latSivp",
+ "mangledName": "$s12IOTBluetooth9IBAddressC3latSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAddressC3latSivg",
+ "mangledName": "$s12IOTBluetooth9IBAddressC3latSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAddressC3latSivs",
+ "mangledName": "$s12IOTBluetooth9IBAddressC3latSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAddressC3latSivM",
+ "mangledName": "$s12IOTBluetooth9IBAddressC3latSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "lon",
+ "printedName": "lon",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAddressC3lonSivp",
+ "mangledName": "$s12IOTBluetooth9IBAddressC3lonSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAddressC3lonSivg",
+ "mangledName": "$s12IOTBluetooth9IBAddressC3lonSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAddressC3lonSivs",
+ "mangledName": "$s12IOTBluetooth9IBAddressC3lonSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAddressC3lonSivM",
+ "mangledName": "$s12IOTBluetooth9IBAddressC3lonSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "atm",
+ "printedName": "atm",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBAddressC3atmSivp",
+ "mangledName": "$s12IOTBluetooth9IBAddressC3atmSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAddressC3atmSivg",
+ "mangledName": "$s12IOTBluetooth9IBAddressC3atmSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAddressC3atmSivs",
+ "mangledName": "$s12IOTBluetooth9IBAddressC3atmSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBAddressC3atmSivM",
+ "mangledName": "$s12IOTBluetooth9IBAddressC3atmSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAddress",
+ "printedName": "IOTBluetooth.IBAddress",
+ "usr": "s:12IOTBluetooth9IBAddressC"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth9IBAddressCACycfc",
+ "mangledName": "$s12IOTBluetooth9IBAddressCACycfc",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(from:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBAddress",
+ "printedName": "IOTBluetooth.IBAddress",
+ "usr": "s:12IOTBluetooth9IBAddressC"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Decoder",
+ "printedName": "Swift.Decoder",
+ "usr": "s:s7DecoderP"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth9IBAddressC4fromACs7Decoder_p_tKcfc",
+ "mangledName": "$s12IOTBluetooth9IBAddressC4fromACs7Decoder_p_tKcfc",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "declAttributes": [
+ "Required"
+ ],
+ "throwing": true,
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Function",
+ "name": "encode",
+ "printedName": "encode(to:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Encoder",
+ "printedName": "Swift.Encoder",
+ "usr": "s:s7EncoderP"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:12IOTBluetooth9IBAddressC6encode2toys7Encoder_p_tKF",
+ "mangledName": "$s12IOTBluetooth9IBAddressC6encode2toys7Encoder_p_tKF",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "throwing": true,
+ "funcSelfKind": "NonMutating"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:12IOTBluetooth9IBAddressC",
+ "mangledName": "$s12IOTBluetooth9IBAddressC",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Decodable",
+ "printedName": "Decodable",
+ "usr": "s:Se",
+ "mangledName": "$sSe"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Encodable",
+ "printedName": "Encodable",
+ "usr": "s:SE",
+ "mangledName": "$sSE"
+ }
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBWeatherInfo",
+ "printedName": "IBWeatherInfo",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "fxDate",
+ "printedName": "fxDate",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth13IBWeatherInfoC6fxDateSivp",
+ "mangledName": "$s12IOTBluetooth13IBWeatherInfoC6fxDateSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBWeatherInfoC6fxDateSivg",
+ "mangledName": "$s12IOTBluetooth13IBWeatherInfoC6fxDateSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBWeatherInfoC6fxDateSivs",
+ "mangledName": "$s12IOTBluetooth13IBWeatherInfoC6fxDateSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBWeatherInfoC6fxDateSivM",
+ "mangledName": "$s12IOTBluetooth13IBWeatherInfoC6fxDateSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "iconDay",
+ "printedName": "iconDay",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth13IBWeatherInfoC7iconDaySivp",
+ "mangledName": "$s12IOTBluetooth13IBWeatherInfoC7iconDaySivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBWeatherInfoC7iconDaySivg",
+ "mangledName": "$s12IOTBluetooth13IBWeatherInfoC7iconDaySivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBWeatherInfoC7iconDaySivs",
+ "mangledName": "$s12IOTBluetooth13IBWeatherInfoC7iconDaySivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBWeatherInfoC7iconDaySivM",
+ "mangledName": "$s12IOTBluetooth13IBWeatherInfoC7iconDaySivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "textDay",
+ "printedName": "textDay",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth13IBWeatherInfoC7textDaySSvp",
+ "mangledName": "$s12IOTBluetooth13IBWeatherInfoC7textDaySSvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBWeatherInfoC7textDaySSvg",
+ "mangledName": "$s12IOTBluetooth13IBWeatherInfoC7textDaySSvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBWeatherInfoC7textDaySSvs",
+ "mangledName": "$s12IOTBluetooth13IBWeatherInfoC7textDaySSvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBWeatherInfoC7textDaySSvM",
+ "mangledName": "$s12IOTBluetooth13IBWeatherInfoC7textDaySSvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "tempMax",
+ "printedName": "tempMax",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth13IBWeatherInfoC7tempMaxSivp",
+ "mangledName": "$s12IOTBluetooth13IBWeatherInfoC7tempMaxSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBWeatherInfoC7tempMaxSivg",
+ "mangledName": "$s12IOTBluetooth13IBWeatherInfoC7tempMaxSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBWeatherInfoC7tempMaxSivs",
+ "mangledName": "$s12IOTBluetooth13IBWeatherInfoC7tempMaxSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBWeatherInfoC7tempMaxSivM",
+ "mangledName": "$s12IOTBluetooth13IBWeatherInfoC7tempMaxSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "tempMin",
+ "printedName": "tempMin",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth13IBWeatherInfoC7tempMinSivp",
+ "mangledName": "$s12IOTBluetooth13IBWeatherInfoC7tempMinSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBWeatherInfoC7tempMinSivg",
+ "mangledName": "$s12IOTBluetooth13IBWeatherInfoC7tempMinSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBWeatherInfoC7tempMinSivs",
+ "mangledName": "$s12IOTBluetooth13IBWeatherInfoC7tempMinSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBWeatherInfoC7tempMinSivM",
+ "mangledName": "$s12IOTBluetooth13IBWeatherInfoC7tempMinSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBWeatherInfo",
+ "printedName": "IOTBluetooth.IBWeatherInfo",
+ "usr": "s:12IOTBluetooth13IBWeatherInfoC"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth13IBWeatherInfoCACycfc",
+ "mangledName": "$s12IOTBluetooth13IBWeatherInfoCACycfc",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(from:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBWeatherInfo",
+ "printedName": "IOTBluetooth.IBWeatherInfo",
+ "usr": "s:12IOTBluetooth13IBWeatherInfoC"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Decoder",
+ "printedName": "Swift.Decoder",
+ "usr": "s:s7DecoderP"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth13IBWeatherInfoC4fromACs7Decoder_p_tKcfc",
+ "mangledName": "$s12IOTBluetooth13IBWeatherInfoC4fromACs7Decoder_p_tKcfc",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "declAttributes": [
+ "Required"
+ ],
+ "throwing": true,
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Function",
+ "name": "encode",
+ "printedName": "encode(to:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Encoder",
+ "printedName": "Swift.Encoder",
+ "usr": "s:s7EncoderP"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:12IOTBluetooth13IBWeatherInfoC6encode2toys7Encoder_p_tKF",
+ "mangledName": "$s12IOTBluetooth13IBWeatherInfoC6encode2toys7Encoder_p_tKF",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "throwing": true,
+ "funcSelfKind": "NonMutating"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:12IOTBluetooth13IBWeatherInfoC",
+ "mangledName": "$s12IOTBluetooth13IBWeatherInfoC",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Decodable",
+ "printedName": "Decodable",
+ "usr": "s:Se",
+ "mangledName": "$sSe"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Encodable",
+ "printedName": "Encodable",
+ "usr": "s:SE",
+ "mangledName": "$sSE"
+ }
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBWeatherNow",
+ "printedName": "IBWeatherNow",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "temp",
+ "printedName": "temp",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth12IBWeatherNowC4tempSivp",
+ "mangledName": "$s12IOTBluetooth12IBWeatherNowC4tempSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBWeatherNowC4tempSivg",
+ "mangledName": "$s12IOTBluetooth12IBWeatherNowC4tempSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBWeatherNowC4tempSivs",
+ "mangledName": "$s12IOTBluetooth12IBWeatherNowC4tempSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBWeatherNowC4tempSivM",
+ "mangledName": "$s12IOTBluetooth12IBWeatherNowC4tempSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "iconNight",
+ "printedName": "iconNight",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth12IBWeatherNowC9iconNightSivp",
+ "mangledName": "$s12IOTBluetooth12IBWeatherNowC9iconNightSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBWeatherNowC9iconNightSivg",
+ "mangledName": "$s12IOTBluetooth12IBWeatherNowC9iconNightSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBWeatherNowC9iconNightSivs",
+ "mangledName": "$s12IOTBluetooth12IBWeatherNowC9iconNightSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBWeatherNowC9iconNightSivM",
+ "mangledName": "$s12IOTBluetooth12IBWeatherNowC9iconNightSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "textNight",
+ "printedName": "textNight",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth12IBWeatherNowC9textNightSSvp",
+ "mangledName": "$s12IOTBluetooth12IBWeatherNowC9textNightSSvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBWeatherNowC9textNightSSvg",
+ "mangledName": "$s12IOTBluetooth12IBWeatherNowC9textNightSSvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBWeatherNowC9textNightSSvs",
+ "mangledName": "$s12IOTBluetooth12IBWeatherNowC9textNightSSvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBWeatherNowC9textNightSSvM",
+ "mangledName": "$s12IOTBluetooth12IBWeatherNowC9textNightSSvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "windScale",
+ "printedName": "windScale",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth12IBWeatherNowC9windScaleSSvp",
+ "mangledName": "$s12IOTBluetooth12IBWeatherNowC9windScaleSSvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBWeatherNowC9windScaleSSvg",
+ "mangledName": "$s12IOTBluetooth12IBWeatherNowC9windScaleSSvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBWeatherNowC9windScaleSSvs",
+ "mangledName": "$s12IOTBluetooth12IBWeatherNowC9windScaleSSvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBWeatherNowC9windScaleSSvM",
+ "mangledName": "$s12IOTBluetooth12IBWeatherNowC9windScaleSSvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "humidity",
+ "printedName": "humidity",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth12IBWeatherNowC8humiditySivp",
+ "mangledName": "$s12IOTBluetooth12IBWeatherNowC8humiditySivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBWeatherNowC8humiditySivg",
+ "mangledName": "$s12IOTBluetooth12IBWeatherNowC8humiditySivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBWeatherNowC8humiditySivs",
+ "mangledName": "$s12IOTBluetooth12IBWeatherNowC8humiditySivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBWeatherNowC8humiditySivM",
+ "mangledName": "$s12IOTBluetooth12IBWeatherNowC8humiditySivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "uvIndex",
+ "printedName": "uvIndex",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth12IBWeatherNowC7uvIndexSivp",
+ "mangledName": "$s12IOTBluetooth12IBWeatherNowC7uvIndexSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBWeatherNowC7uvIndexSivg",
+ "mangledName": "$s12IOTBluetooth12IBWeatherNowC7uvIndexSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBWeatherNowC7uvIndexSivs",
+ "mangledName": "$s12IOTBluetooth12IBWeatherNowC7uvIndexSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBWeatherNowC7uvIndexSivM",
+ "mangledName": "$s12IOTBluetooth12IBWeatherNowC7uvIndexSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBWeatherNow",
+ "printedName": "IOTBluetooth.IBWeatherNow",
+ "usr": "s:12IOTBluetooth12IBWeatherNowC"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth12IBWeatherNowCACycfc",
+ "mangledName": "$s12IOTBluetooth12IBWeatherNowCACycfc",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(from:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBWeatherNow",
+ "printedName": "IOTBluetooth.IBWeatherNow",
+ "usr": "s:12IOTBluetooth12IBWeatherNowC"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Decoder",
+ "printedName": "Swift.Decoder",
+ "usr": "s:s7DecoderP"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth12IBWeatherNowC4fromACs7Decoder_p_tKcfc",
+ "mangledName": "$s12IOTBluetooth12IBWeatherNowC4fromACs7Decoder_p_tKcfc",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "declAttributes": [
+ "Required"
+ ],
+ "throwing": true,
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Function",
+ "name": "encode",
+ "printedName": "encode(to:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Encoder",
+ "printedName": "Swift.Encoder",
+ "usr": "s:s7EncoderP"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:12IOTBluetooth12IBWeatherNowC6encode2toys7Encoder_p_tKF",
+ "mangledName": "$s12IOTBluetooth12IBWeatherNowC6encode2toys7Encoder_p_tKF",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "throwing": true,
+ "funcSelfKind": "NonMutating"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:12IOTBluetooth12IBWeatherNowC",
+ "mangledName": "$s12IOTBluetooth12IBWeatherNowC",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Decodable",
+ "printedName": "Decodable",
+ "usr": "s:Se",
+ "mangledName": "$sSe"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Encodable",
+ "printedName": "Encodable",
+ "usr": "s:SE",
+ "mangledName": "$sSE"
+ }
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBSendOta",
+ "printedName": "IBSendOta",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "filePath",
+ "printedName": "filePath",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBSendOtaC8filePathSSvp",
+ "mangledName": "$s12IOTBluetooth9IBSendOtaC8filePathSSvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBSendOtaC8filePathSSvg",
+ "mangledName": "$s12IOTBluetooth9IBSendOtaC8filePathSSvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBSendOtaC8filePathSSvs",
+ "mangledName": "$s12IOTBluetooth9IBSendOtaC8filePathSSvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBSendOtaC8filePathSSvM",
+ "mangledName": "$s12IOTBluetooth9IBSendOtaC8filePathSSvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "major",
+ "printedName": "major",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBSendOtaC5majorSivp",
+ "mangledName": "$s12IOTBluetooth9IBSendOtaC5majorSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBSendOtaC5majorSivg",
+ "mangledName": "$s12IOTBluetooth9IBSendOtaC5majorSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBSendOtaC5majorSivs",
+ "mangledName": "$s12IOTBluetooth9IBSendOtaC5majorSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBSendOtaC5majorSivM",
+ "mangledName": "$s12IOTBluetooth9IBSendOtaC5majorSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "mid",
+ "printedName": "mid",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBSendOtaC3midSivp",
+ "mangledName": "$s12IOTBluetooth9IBSendOtaC3midSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBSendOtaC3midSivg",
+ "mangledName": "$s12IOTBluetooth9IBSendOtaC3midSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBSendOtaC3midSivs",
+ "mangledName": "$s12IOTBluetooth9IBSendOtaC3midSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBSendOtaC3midSivM",
+ "mangledName": "$s12IOTBluetooth9IBSendOtaC3midSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "minor",
+ "printedName": "minor",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBSendOtaC5minorSivp",
+ "mangledName": "$s12IOTBluetooth9IBSendOtaC5minorSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBSendOtaC5minorSivg",
+ "mangledName": "$s12IOTBluetooth9IBSendOtaC5minorSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBSendOtaC5minorSivs",
+ "mangledName": "$s12IOTBluetooth9IBSendOtaC5minorSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBSendOtaC5minorSivM",
+ "mangledName": "$s12IOTBluetooth9IBSendOtaC5minorSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "isForced",
+ "printedName": "isForced",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth9IBSendOtaC8isForcedSivp",
+ "mangledName": "$s12IOTBluetooth9IBSendOtaC8isForcedSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBSendOtaC8isForcedSivg",
+ "mangledName": "$s12IOTBluetooth9IBSendOtaC8isForcedSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBSendOtaC8isForcedSivs",
+ "mangledName": "$s12IOTBluetooth9IBSendOtaC8isForcedSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth9IBSendOtaC8isForcedSivM",
+ "mangledName": "$s12IOTBluetooth9IBSendOtaC8isForcedSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBSendOta",
+ "printedName": "IOTBluetooth.IBSendOta",
+ "usr": "s:12IOTBluetooth9IBSendOtaC"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth9IBSendOtaCACycfc",
+ "mangledName": "$s12IOTBluetooth9IBSendOtaCACycfc",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(from:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBSendOta",
+ "printedName": "IOTBluetooth.IBSendOta",
+ "usr": "s:12IOTBluetooth9IBSendOtaC"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Decoder",
+ "printedName": "Swift.Decoder",
+ "usr": "s:s7DecoderP"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth9IBSendOtaC4fromACs7Decoder_p_tKcfc",
+ "mangledName": "$s12IOTBluetooth9IBSendOtaC4fromACs7Decoder_p_tKcfc",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "declAttributes": [
+ "Required"
+ ],
+ "throwing": true,
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Function",
+ "name": "encode",
+ "printedName": "encode(to:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Encoder",
+ "printedName": "Swift.Encoder",
+ "usr": "s:s7EncoderP"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:12IOTBluetooth9IBSendOtaC6encode2toys7Encoder_p_tKF",
+ "mangledName": "$s12IOTBluetooth9IBSendOtaC6encode2toys7Encoder_p_tKF",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "throwing": true,
+ "funcSelfKind": "NonMutating"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:12IOTBluetooth9IBSendOtaC",
+ "mangledName": "$s12IOTBluetooth9IBSendOtaC",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Decodable",
+ "printedName": "Decodable",
+ "usr": "s:Se",
+ "mangledName": "$sSe"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Encodable",
+ "printedName": "Encodable",
+ "usr": "s:SE",
+ "mangledName": "$sSE"
+ }
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBOtaFile",
+ "printedName": "IBOtaFile",
+ "children": [
+ {
+ "kind": "Function",
+ "name": "encode",
+ "printedName": "encode(to:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Encoder",
+ "printedName": "Swift.Encoder",
+ "usr": "s:s7EncoderP"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:12IOTBluetooth9IBOtaFileC6encode2toys7Encoder_p_tKF",
+ "mangledName": "$s12IOTBluetooth9IBOtaFileC6encode2toys7Encoder_p_tKF",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "throwing": true,
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(from:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBOtaFile",
+ "printedName": "IOTBluetooth.IBOtaFile",
+ "usr": "s:12IOTBluetooth9IBOtaFileC"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Decoder",
+ "printedName": "Swift.Decoder",
+ "usr": "s:s7DecoderP"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth9IBOtaFileC4fromACs7Decoder_p_tKcfc",
+ "mangledName": "$s12IOTBluetooth9IBOtaFileC4fromACs7Decoder_p_tKcfc",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "declAttributes": [
+ "Required"
+ ],
+ "throwing": true,
+ "init_kind": "Designated"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:12IOTBluetooth9IBOtaFileC",
+ "mangledName": "$s12IOTBluetooth9IBOtaFileC",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasMissingDesignatedInitializers": true,
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Decodable",
+ "printedName": "Decodable",
+ "usr": "s:Se",
+ "mangledName": "$sSe"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Encodable",
+ "printedName": "Encodable",
+ "usr": "s:SE",
+ "mangledName": "$sSE"
+ }
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBSleep",
+ "printedName": "IBSleep",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "sleepTimeSet",
+ "printedName": "sleepTimeSet",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth7IBSleepC12sleepTimeSetSivp",
+ "mangledName": "$s12IOTBluetooth7IBSleepC12sleepTimeSetSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth7IBSleepC12sleepTimeSetSivg",
+ "mangledName": "$s12IOTBluetooth7IBSleepC12sleepTimeSetSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth7IBSleepC12sleepTimeSetSivs",
+ "mangledName": "$s12IOTBluetooth7IBSleepC12sleepTimeSetSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth7IBSleepC12sleepTimeSetSivM",
+ "mangledName": "$s12IOTBluetooth7IBSleepC12sleepTimeSetSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "sleepTime",
+ "printedName": "sleepTime",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "IOTBluetooth.IBTimeItem?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBTimeItem",
+ "printedName": "IOTBluetooth.IBTimeItem",
+ "usr": "s:12IOTBluetooth10IBTimeItemV"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth7IBSleepC9sleepTimeAA10IBTimeItemVSgvp",
+ "mangledName": "$s12IOTBluetooth7IBSleepC9sleepTimeAA10IBTimeItemVSgvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "IOTBluetooth.IBTimeItem?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBTimeItem",
+ "printedName": "IOTBluetooth.IBTimeItem",
+ "usr": "s:12IOTBluetooth10IBTimeItemV"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth7IBSleepC9sleepTimeAA10IBTimeItemVSgvg",
+ "mangledName": "$s12IOTBluetooth7IBSleepC9sleepTimeAA10IBTimeItemVSgvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "IOTBluetooth.IBTimeItem?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBTimeItem",
+ "printedName": "IOTBluetooth.IBTimeItem",
+ "usr": "s:12IOTBluetooth10IBTimeItemV"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth7IBSleepC9sleepTimeAA10IBTimeItemVSgvs",
+ "mangledName": "$s12IOTBluetooth7IBSleepC9sleepTimeAA10IBTimeItemVSgvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth7IBSleepC9sleepTimeAA10IBTimeItemVSgvM",
+ "mangledName": "$s12IOTBluetooth7IBSleepC9sleepTimeAA10IBTimeItemVSgvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "getUpTime",
+ "printedName": "getUpTime",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "IOTBluetooth.IBTimeItem?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBTimeItem",
+ "printedName": "IOTBluetooth.IBTimeItem",
+ "usr": "s:12IOTBluetooth10IBTimeItemV"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth7IBSleepC9getUpTimeAA10IBTimeItemVSgvp",
+ "mangledName": "$s12IOTBluetooth7IBSleepC9getUpTimeAA10IBTimeItemVSgvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "IOTBluetooth.IBTimeItem?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBTimeItem",
+ "printedName": "IOTBluetooth.IBTimeItem",
+ "usr": "s:12IOTBluetooth10IBTimeItemV"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth7IBSleepC9getUpTimeAA10IBTimeItemVSgvg",
+ "mangledName": "$s12IOTBluetooth7IBSleepC9getUpTimeAA10IBTimeItemVSgvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "IOTBluetooth.IBTimeItem?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBTimeItem",
+ "printedName": "IOTBluetooth.IBTimeItem",
+ "usr": "s:12IOTBluetooth10IBTimeItemV"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth7IBSleepC9getUpTimeAA10IBTimeItemVSgvs",
+ "mangledName": "$s12IOTBluetooth7IBSleepC9getUpTimeAA10IBTimeItemVSgvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth7IBSleepC9getUpTimeAA10IBTimeItemVSgvM",
+ "mangledName": "$s12IOTBluetooth7IBSleepC9getUpTimeAA10IBTimeItemVSgvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "alertBeforeMin20",
+ "printedName": "alertBeforeMin20",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth7IBSleepC16alertBeforeMin20Sivp",
+ "mangledName": "$s12IOTBluetooth7IBSleepC16alertBeforeMin20Sivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth7IBSleepC16alertBeforeMin20Sivg",
+ "mangledName": "$s12IOTBluetooth7IBSleepC16alertBeforeMin20Sivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth7IBSleepC16alertBeforeMin20Sivs",
+ "mangledName": "$s12IOTBluetooth7IBSleepC16alertBeforeMin20Sivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth7IBSleepC16alertBeforeMin20SivM",
+ "mangledName": "$s12IOTBluetooth7IBSleepC16alertBeforeMin20SivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBSleep",
+ "printedName": "IOTBluetooth.IBSleep",
+ "usr": "s:12IOTBluetooth7IBSleepC"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth7IBSleepCACycfc",
+ "mangledName": "$s12IOTBluetooth7IBSleepCACycfc",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "init_kind": "Designated"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:12IOTBluetooth7IBSleepC",
+ "mangledName": "$s12IOTBluetooth7IBSleepC",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasMissingDesignatedInitializers": true
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBTimeItem",
+ "printedName": "IBTimeItem",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "hour",
+ "printedName": "hour",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth10IBTimeItemV4hourSivp",
+ "mangledName": "$s12IOTBluetooth10IBTimeItemV4hourSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBTimeItemV4hourSivg",
+ "mangledName": "$s12IOTBluetooth10IBTimeItemV4hourSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBTimeItemV4hourSivs",
+ "mangledName": "$s12IOTBluetooth10IBTimeItemV4hourSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBTimeItemV4hourSivM",
+ "mangledName": "$s12IOTBluetooth10IBTimeItemV4hourSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "minute",
+ "printedName": "minute",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth10IBTimeItemV6minuteSivp",
+ "mangledName": "$s12IOTBluetooth10IBTimeItemV6minuteSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBTimeItemV6minuteSivg",
+ "mangledName": "$s12IOTBluetooth10IBTimeItemV6minuteSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBTimeItemV6minuteSivs",
+ "mangledName": "$s12IOTBluetooth10IBTimeItemV6minuteSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBTimeItemV6minuteSivM",
+ "mangledName": "$s12IOTBluetooth10IBTimeItemV6minuteSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(hour:minute:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBTimeItem",
+ "printedName": "IOTBluetooth.IBTimeItem",
+ "usr": "s:12IOTBluetooth10IBTimeItemV"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth10IBTimeItemV4hour6minuteACSi_Sitcfc",
+ "mangledName": "$s12IOTBluetooth10IBTimeItemV4hour6minuteACSi_Sitcfc",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "init_kind": "Designated"
+ }
+ ],
+ "declKind": "Struct",
+ "usr": "s:12IOTBluetooth10IBTimeItemV",
+ "mangledName": "$s12IOTBluetooth10IBTimeItemV",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "CoreBluetooth",
+ "printedName": "CoreBluetooth",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth"
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBScanOption",
+ "printedName": "IBScanOption",
+ "children": [
+ {
+ "kind": "Function",
+ "name": "allowDuplicates",
+ "printedName": "allowDuplicates(_:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "DynamicSelf",
+ "printedName": "Self"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Bool",
+ "printedName": "Swift.Bool",
+ "usr": "s:Sb"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:12IOTBluetooth12IBScanOptionC15allowDuplicatesyACXDSbF",
+ "mangledName": "$s12IOTBluetooth12IBScanOptionC15allowDuplicatesyACXDSbF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "DiscardableResult",
+ "RawDocComment"
+ ],
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Function",
+ "name": "solicited",
+ "printedName": "solicited(_:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "DynamicSelf",
+ "printedName": "Self"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[Swift.String]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:12IOTBluetooth12IBScanOptionC9solicitedyACXDSaySSGF",
+ "mangledName": "$s12IOTBluetooth12IBScanOptionC9solicitedyACXDSaySSGF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "DiscardableResult",
+ "RawDocComment"
+ ],
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Var",
+ "name": "default",
+ "printedName": "default",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBScanOption",
+ "printedName": "IOTBluetooth.IBScanOption",
+ "usr": "s:12IOTBluetooth12IBScanOptionC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth12IBScanOptionC7defaultACvpZ",
+ "mangledName": "$s12IOTBluetooth12IBScanOptionC7defaultACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "HasInitialValue",
+ "Final",
+ "HasStorage",
+ "AccessControl"
+ ],
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBScanOption",
+ "printedName": "IOTBluetooth.IBScanOption",
+ "usr": "s:12IOTBluetooth12IBScanOptionC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBScanOptionC7defaultACvgZ",
+ "mangledName": "$s12IOTBluetooth12IBScanOptionC7defaultACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "implicit": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "custom",
+ "printedName": "custom",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBScanOption",
+ "printedName": "IOTBluetooth.IBScanOption",
+ "usr": "s:12IOTBluetooth12IBScanOptionC"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth12IBScanOptionC6customACvpZ",
+ "mangledName": "$s12IOTBluetooth12IBScanOptionC6customACvpZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "Final",
+ "AccessControl"
+ ],
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBScanOption",
+ "printedName": "IOTBluetooth.IBScanOption",
+ "usr": "s:12IOTBluetooth12IBScanOptionC"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBScanOptionC6customACvgZ",
+ "mangledName": "$s12IOTBluetooth12IBScanOptionC6customACvgZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "Final"
+ ],
+ "accessorKind": "get"
+ }
+ ]
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:12IOTBluetooth12IBScanOptionC",
+ "mangledName": "$s12IOTBluetooth12IBScanOptionC",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "hasMissingDesignatedInitializers": true
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBHistoryStepItem",
+ "printedName": "IBHistoryStepItem",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "time",
+ "printedName": "time",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth17IBHistoryStepItemC4timeSivp",
+ "mangledName": "$s12IOTBluetooth17IBHistoryStepItemC4timeSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth17IBHistoryStepItemC4timeSivg",
+ "mangledName": "$s12IOTBluetooth17IBHistoryStepItemC4timeSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth17IBHistoryStepItemC4timeSivs",
+ "mangledName": "$s12IOTBluetooth17IBHistoryStepItemC4timeSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth17IBHistoryStepItemC4timeSivM",
+ "mangledName": "$s12IOTBluetooth17IBHistoryStepItemC4timeSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "value",
+ "printedName": "value",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth17IBHistoryStepItemC5valueSivp",
+ "mangledName": "$s12IOTBluetooth17IBHistoryStepItemC5valueSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth17IBHistoryStepItemC5valueSivg",
+ "mangledName": "$s12IOTBluetooth17IBHistoryStepItemC5valueSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth17IBHistoryStepItemC5valueSivs",
+ "mangledName": "$s12IOTBluetooth17IBHistoryStepItemC5valueSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth17IBHistoryStepItemC5valueSivM",
+ "mangledName": "$s12IOTBluetooth17IBHistoryStepItemC5valueSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBHistoryStepItem",
+ "printedName": "IOTBluetooth.IBHistoryStepItem",
+ "usr": "s:12IOTBluetooth17IBHistoryStepItemC"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth17IBHistoryStepItemCACycfc",
+ "mangledName": "$s12IOTBluetooth17IBHistoryStepItemCACycfc",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "init_kind": "Designated"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:12IOTBluetooth17IBHistoryStepItemC",
+ "mangledName": "$s12IOTBluetooth17IBHistoryStepItemC",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "LRC",
+ "printedName": "LRC",
+ "children": [
+ {
+ "kind": "Function",
+ "name": "calculateLRC",
+ "printedName": "calculateLRC(_:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "UInt8",
+ "printedName": "Swift.UInt8",
+ "usr": "s:s5UInt8V"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[Swift.UInt8]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "UInt8",
+ "printedName": "Swift.UInt8",
+ "usr": "s:s5UInt8V"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:12IOTBluetooth3LRCV09calculateB0ys5UInt8VSayAFGFZ",
+ "mangledName": "$s12IOTBluetooth3LRCV09calculateB0ys5UInt8VSayAFGFZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Function",
+ "name": "calculate",
+ "printedName": "calculate(_:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "UInt8",
+ "printedName": "Swift.UInt8",
+ "usr": "s:s5UInt8V"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[Swift.UInt8]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "UInt8",
+ "printedName": "Swift.UInt8",
+ "usr": "s:s5UInt8V"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:12IOTBluetooth3LRCV9calculateys5UInt8VSayAFGFZ",
+ "mangledName": "$s12IOTBluetooth3LRCV9calculateys5UInt8VSayAFGFZ",
+ "moduleName": "IOTBluetooth",
+ "static": true,
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "funcSelfKind": "NonMutating"
+ }
+ ],
+ "declKind": "Struct",
+ "usr": "s:12IOTBluetooth3LRCV",
+ "mangledName": "$s12IOTBluetooth3LRCV",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBDial",
+ "printedName": "IBDial",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "UID",
+ "printedName": "UID",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth6IBDialC3UIDSivp",
+ "mangledName": "$s12IOTBluetooth6IBDialC3UIDSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth6IBDialC3UIDSivg",
+ "mangledName": "$s12IOTBluetooth6IBDialC3UIDSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth6IBDialC3UIDSivs",
+ "mangledName": "$s12IOTBluetooth6IBDialC3UIDSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth6IBDialC3UIDSivM",
+ "mangledName": "$s12IOTBluetooth6IBDialC3UIDSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "theme",
+ "printedName": "theme",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth6IBDialC5themeSSSgvp",
+ "mangledName": "$s12IOTBluetooth6IBDialC5themeSSSgvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth6IBDialC5themeSSSgvg",
+ "mangledName": "$s12IOTBluetooth6IBDialC5themeSSSgvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth6IBDialC5themeSSSgvs",
+ "mangledName": "$s12IOTBluetooth6IBDialC5themeSSSgvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth6IBDialC5themeSSSgvM",
+ "mangledName": "$s12IOTBluetooth6IBDialC5themeSSSgvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "batteryStyle",
+ "printedName": "batteryStyle",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth6IBDialC12batteryStyleSiSgvp",
+ "mangledName": "$s12IOTBluetooth6IBDialC12batteryStyleSiSgvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth6IBDialC12batteryStyleSiSgvg",
+ "mangledName": "$s12IOTBluetooth6IBDialC12batteryStyleSiSgvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth6IBDialC12batteryStyleSiSgvs",
+ "mangledName": "$s12IOTBluetooth6IBDialC12batteryStyleSiSgvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth6IBDialC12batteryStyleSiSgvM",
+ "mangledName": "$s12IOTBluetooth6IBDialC12batteryStyleSiSgvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "timeStyle",
+ "printedName": "timeStyle",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth6IBDialC9timeStyleSiSgvp",
+ "mangledName": "$s12IOTBluetooth6IBDialC9timeStyleSiSgvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth6IBDialC9timeStyleSiSgvg",
+ "mangledName": "$s12IOTBluetooth6IBDialC9timeStyleSiSgvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth6IBDialC9timeStyleSiSgvs",
+ "mangledName": "$s12IOTBluetooth6IBDialC9timeStyleSiSgvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth6IBDialC9timeStyleSiSgvM",
+ "mangledName": "$s12IOTBluetooth6IBDialC9timeStyleSiSgvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "timeColor",
+ "printedName": "timeColor",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth6IBDialC9timeColorSiSgvp",
+ "mangledName": "$s12IOTBluetooth6IBDialC9timeColorSiSgvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth6IBDialC9timeColorSiSgvg",
+ "mangledName": "$s12IOTBluetooth6IBDialC9timeColorSiSgvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Int?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth6IBDialC9timeColorSiSgvs",
+ "mangledName": "$s12IOTBluetooth6IBDialC9timeColorSiSgvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth6IBDialC9timeColorSiSgvM",
+ "mangledName": "$s12IOTBluetooth6IBDialC9timeColorSiSgvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "files",
+ "printedName": "files",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "[IOTBluetooth.IBDialFile]?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[IOTBluetooth.IBDialFile]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBDialFile",
+ "printedName": "IOTBluetooth.IBDialFile",
+ "usr": "s:12IOTBluetooth10IBDialFileC"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth6IBDialC5filesSayAA0B4FileCGSgvp",
+ "mangledName": "$s12IOTBluetooth6IBDialC5filesSayAA0B4FileCGSgvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "[IOTBluetooth.IBDialFile]?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[IOTBluetooth.IBDialFile]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBDialFile",
+ "printedName": "IOTBluetooth.IBDialFile",
+ "usr": "s:12IOTBluetooth10IBDialFileC"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth6IBDialC5filesSayAA0B4FileCGSgvg",
+ "mangledName": "$s12IOTBluetooth6IBDialC5filesSayAA0B4FileCGSgvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "[IOTBluetooth.IBDialFile]?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[IOTBluetooth.IBDialFile]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBDialFile",
+ "printedName": "IOTBluetooth.IBDialFile",
+ "usr": "s:12IOTBluetooth10IBDialFileC"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth6IBDialC5filesSayAA0B4FileCGSgvs",
+ "mangledName": "$s12IOTBluetooth6IBDialC5filesSayAA0B4FileCGSgvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth6IBDialC5filesSayAA0B4FileCGSgvM",
+ "mangledName": "$s12IOTBluetooth6IBDialC5filesSayAA0B4FileCGSgvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBDial",
+ "printedName": "IOTBluetooth.IBDial",
+ "usr": "s:12IOTBluetooth6IBDialC"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth6IBDialCACycfc",
+ "mangledName": "$s12IOTBluetooth6IBDialCACycfc",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Var",
+ "name": "description",
+ "printedName": "description",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth6IBDialC11descriptionSSvp",
+ "mangledName": "$s12IOTBluetooth6IBDialC11descriptionSSvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth6IBDialC11descriptionSSvg",
+ "mangledName": "$s12IOTBluetooth6IBDialC11descriptionSSvg",
+ "moduleName": "IOTBluetooth",
+ "accessorKind": "get"
+ }
+ ]
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:12IOTBluetooth6IBDialC",
+ "mangledName": "$s12IOTBluetooth6IBDialC",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBDialFile",
+ "printedName": "IBDialFile",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "filePath",
+ "printedName": "filePath",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth10IBDialFileC8filePathSSvp",
+ "mangledName": "$s12IOTBluetooth10IBDialFileC8filePathSSvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBDialFileC8filePathSSvg",
+ "mangledName": "$s12IOTBluetooth10IBDialFileC8filePathSSvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBDialFileC8filePathSSvs",
+ "mangledName": "$s12IOTBluetooth10IBDialFileC8filePathSSvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBDialFileC8filePathSSvM",
+ "mangledName": "$s12IOTBluetooth10IBDialFileC8filePathSSvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "fileName",
+ "printedName": "fileName",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth10IBDialFileC8fileNameSSvp",
+ "mangledName": "$s12IOTBluetooth10IBDialFileC8fileNameSSvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBDialFileC8fileNameSSvg",
+ "mangledName": "$s12IOTBluetooth10IBDialFileC8fileNameSSvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBDialFileC8fileNameSSvs",
+ "mangledName": "$s12IOTBluetooth10IBDialFileC8fileNameSSvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBDialFileC8fileNameSSvM",
+ "mangledName": "$s12IOTBluetooth10IBDialFileC8fileNameSSvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBDialFile",
+ "printedName": "IOTBluetooth.IBDialFile",
+ "usr": "s:12IOTBluetooth10IBDialFileC"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth10IBDialFileCACycfc",
+ "mangledName": "$s12IOTBluetooth10IBDialFileCACycfc",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Var",
+ "name": "description",
+ "printedName": "description",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth10IBDialFileC11descriptionSSvp",
+ "mangledName": "$s12IOTBluetooth10IBDialFileC11descriptionSSvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBDialFileC11descriptionSSvg",
+ "mangledName": "$s12IOTBluetooth10IBDialFileC11descriptionSSvg",
+ "moduleName": "IOTBluetooth",
+ "accessorKind": "get"
+ }
+ ]
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:12IOTBluetooth10IBDialFileC",
+ "mangledName": "$s12IOTBluetooth10IBDialFileC",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBBloodOxygen",
+ "printedName": "IBBloodOxygen",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "rate",
+ "printedName": "rate",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBBloodOxygenFrequency",
+ "printedName": "IOTBluetooth.IBBloodOxygenFrequency",
+ "usr": "s:12IOTBluetooth22IBBloodOxygenFrequencyO"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth13IBBloodOxygenC4rateAA0bC9FrequencyOvp",
+ "mangledName": "$s12IOTBluetooth13IBBloodOxygenC4rateAA0bC9FrequencyOvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBBloodOxygenFrequency",
+ "printedName": "IOTBluetooth.IBBloodOxygenFrequency",
+ "usr": "s:12IOTBluetooth22IBBloodOxygenFrequencyO"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBBloodOxygenC4rateAA0bC9FrequencyOvg",
+ "mangledName": "$s12IOTBluetooth13IBBloodOxygenC4rateAA0bC9FrequencyOvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "IBBloodOxygenFrequency",
+ "printedName": "IOTBluetooth.IBBloodOxygenFrequency",
+ "usr": "s:12IOTBluetooth22IBBloodOxygenFrequencyO"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBBloodOxygenC4rateAA0bC9FrequencyOvs",
+ "mangledName": "$s12IOTBluetooth13IBBloodOxygenC4rateAA0bC9FrequencyOvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBBloodOxygenC4rateAA0bC9FrequencyOvM",
+ "mangledName": "$s12IOTBluetooth13IBBloodOxygenC4rateAA0bC9FrequencyOvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "state",
+ "printedName": "state",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth13IBBloodOxygenC5stateSivp",
+ "mangledName": "$s12IOTBluetooth13IBBloodOxygenC5stateSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBBloodOxygenC5stateSivg",
+ "mangledName": "$s12IOTBluetooth13IBBloodOxygenC5stateSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBBloodOxygenC5stateSivs",
+ "mangledName": "$s12IOTBluetooth13IBBloodOxygenC5stateSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBBloodOxygenC5stateSivM",
+ "mangledName": "$s12IOTBluetooth13IBBloodOxygenC5stateSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "value",
+ "printedName": "value",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth13IBBloodOxygenC5valueSivp",
+ "mangledName": "$s12IOTBluetooth13IBBloodOxygenC5valueSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBBloodOxygenC5valueSivg",
+ "mangledName": "$s12IOTBluetooth13IBBloodOxygenC5valueSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBBloodOxygenC5valueSivs",
+ "mangledName": "$s12IOTBluetooth13IBBloodOxygenC5valueSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth13IBBloodOxygenC5valueSivM",
+ "mangledName": "$s12IOTBluetooth13IBBloodOxygenC5valueSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBBloodOxygen",
+ "printedName": "IOTBluetooth.IBBloodOxygen",
+ "usr": "s:12IOTBluetooth13IBBloodOxygenC"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth13IBBloodOxygenCACycfc",
+ "mangledName": "$s12IOTBluetooth13IBBloodOxygenCACycfc",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "init_kind": "Designated"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:12IOTBluetooth13IBBloodOxygenC",
+ "mangledName": "$s12IOTBluetooth13IBBloodOxygenC",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasMissingDesignatedInitializers": true
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBBloodOxygenFrequency",
+ "printedName": "IBBloodOxygenFrequency",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "none",
+ "printedName": "none",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBBloodOxygenFrequency.Type) -> IOTBluetooth.IBBloodOxygenFrequency",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBBloodOxygenFrequency",
+ "printedName": "IOTBluetooth.IBBloodOxygenFrequency",
+ "usr": "s:12IOTBluetooth22IBBloodOxygenFrequencyO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBBloodOxygenFrequency.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBBloodOxygenFrequency",
+ "printedName": "IOTBluetooth.IBBloodOxygenFrequency",
+ "usr": "s:12IOTBluetooth22IBBloodOxygenFrequencyO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth22IBBloodOxygenFrequencyO4noneyA2CmF",
+ "mangledName": "$s12IOTBluetooth22IBBloodOxygenFrequencyO4noneyA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "min30",
+ "printedName": "min30",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBBloodOxygenFrequency.Type) -> IOTBluetooth.IBBloodOxygenFrequency",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBBloodOxygenFrequency",
+ "printedName": "IOTBluetooth.IBBloodOxygenFrequency",
+ "usr": "s:12IOTBluetooth22IBBloodOxygenFrequencyO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBBloodOxygenFrequency.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBBloodOxygenFrequency",
+ "printedName": "IOTBluetooth.IBBloodOxygenFrequency",
+ "usr": "s:12IOTBluetooth22IBBloodOxygenFrequencyO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth22IBBloodOxygenFrequencyO5min30yA2CmF",
+ "mangledName": "$s12IOTBluetooth22IBBloodOxygenFrequencyO5min30yA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "hour1",
+ "printedName": "hour1",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBBloodOxygenFrequency.Type) -> IOTBluetooth.IBBloodOxygenFrequency",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBBloodOxygenFrequency",
+ "printedName": "IOTBluetooth.IBBloodOxygenFrequency",
+ "usr": "s:12IOTBluetooth22IBBloodOxygenFrequencyO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBBloodOxygenFrequency.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBBloodOxygenFrequency",
+ "printedName": "IOTBluetooth.IBBloodOxygenFrequency",
+ "usr": "s:12IOTBluetooth22IBBloodOxygenFrequencyO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth22IBBloodOxygenFrequencyO5hour1yA2CmF",
+ "mangledName": "$s12IOTBluetooth22IBBloodOxygenFrequencyO5hour1yA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "hour2",
+ "printedName": "hour2",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBBloodOxygenFrequency.Type) -> IOTBluetooth.IBBloodOxygenFrequency",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBBloodOxygenFrequency",
+ "printedName": "IOTBluetooth.IBBloodOxygenFrequency",
+ "usr": "s:12IOTBluetooth22IBBloodOxygenFrequencyO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBBloodOxygenFrequency.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBBloodOxygenFrequency",
+ "printedName": "IOTBluetooth.IBBloodOxygenFrequency",
+ "usr": "s:12IOTBluetooth22IBBloodOxygenFrequencyO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth22IBBloodOxygenFrequencyO5hour2yA2CmF",
+ "mangledName": "$s12IOTBluetooth22IBBloodOxygenFrequencyO5hour2yA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "rawValue",
+ "printedName": "rawValue",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth22IBBloodOxygenFrequencyO8rawValueSivp",
+ "mangledName": "$s12IOTBluetooth22IBBloodOxygenFrequencyO8rawValueSivp",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth22IBBloodOxygenFrequencyO8rawValueSivg",
+ "mangledName": "$s12IOTBluetooth22IBBloodOxygenFrequencyO8rawValueSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(rawValue:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "IOTBluetooth.IBBloodOxygenFrequency?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBBloodOxygenFrequency",
+ "printedName": "IOTBluetooth.IBBloodOxygenFrequency",
+ "usr": "s:12IOTBluetooth22IBBloodOxygenFrequencyO"
+ }
+ ],
+ "usr": "s:Sq"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth22IBBloodOxygenFrequencyO8rawValueACSgSi_tcfc",
+ "mangledName": "$s12IOTBluetooth22IBBloodOxygenFrequencyO8rawValueACSgSi_tcfc",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "init_kind": "Designated"
+ }
+ ],
+ "declKind": "Enum",
+ "usr": "s:12IOTBluetooth22IBBloodOxygenFrequencyO",
+ "mangledName": "$s12IOTBluetooth22IBBloodOxygenFrequencyO",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "enumRawTypeName": "Int",
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Equatable",
+ "printedName": "Equatable",
+ "usr": "s:SQ",
+ "mangledName": "$sSQ"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Hashable",
+ "printedName": "Hashable",
+ "usr": "s:SH",
+ "mangledName": "$sSH"
+ },
+ {
+ "kind": "Conformance",
+ "name": "RawRepresentable",
+ "printedName": "RawRepresentable",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "RawValue",
+ "printedName": "RawValue",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ]
+ }
+ ],
+ "usr": "s:SY",
+ "mangledName": "$sSY"
+ }
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "CoreBluetooth",
+ "printedName": "CoreBluetooth",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth"
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBPeripheral",
+ "printedName": "IBPeripheral",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "rssi",
+ "printedName": "rssi",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth12IBPeripheralC4rssiSivp",
+ "mangledName": "$s12IOTBluetooth12IBPeripheralC4rssiSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "SetterAccess",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBPeripheralC4rssiSivg",
+ "mangledName": "$s12IOTBluetooth12IBPeripheralC4rssiSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "peripheral",
+ "printedName": "peripheral",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "ImplicitlyUnwrappedOptional",
+ "printedName": "CoreBluetooth.CBPeripheral?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "CBPeripheral",
+ "printedName": "CoreBluetooth.CBPeripheral",
+ "usr": "c:objc(cs)CBPeripheral"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth12IBPeripheralC10peripheralSo12CBPeripheralCSgvp",
+ "mangledName": "$s12IOTBluetooth12IBPeripheralC10peripheralSo12CBPeripheralCSgvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "SetterAccess",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "ImplicitlyUnwrappedOptional",
+ "printedName": "CoreBluetooth.CBPeripheral?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "CBPeripheral",
+ "printedName": "CoreBluetooth.CBPeripheral",
+ "usr": "c:objc(cs)CBPeripheral"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBPeripheralC10peripheralSo12CBPeripheralCSgvg",
+ "mangledName": "$s12IOTBluetooth12IBPeripheralC10peripheralSo12CBPeripheralCSgvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "macAddress",
+ "printedName": "macAddress",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth12IBPeripheralC10macAddressSSvp",
+ "mangledName": "$s12IOTBluetooth12IBPeripheralC10macAddressSSvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "SetterAccess",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBPeripheralC10macAddressSSvg",
+ "mangledName": "$s12IOTBluetooth12IBPeripheralC10macAddressSSvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "advertisementData",
+ "printedName": "advertisementData",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Dictionary",
+ "printedName": "[Swift.String : Any]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "ProtocolComposition",
+ "printedName": "Any"
+ }
+ ],
+ "usr": "s:SD"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth12IBPeripheralC17advertisementDataSDySSypGvp",
+ "mangledName": "$s12IOTBluetooth12IBPeripheralC17advertisementDataSDySSypGvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "SetterAccess",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Dictionary",
+ "printedName": "[Swift.String : Any]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "ProtocolComposition",
+ "printedName": "Any"
+ }
+ ],
+ "usr": "s:SD"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBPeripheralC17advertisementDataSDySSypGvg",
+ "mangledName": "$s12IOTBluetooth12IBPeripheralC17advertisementDataSDySSypGvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "uuid",
+ "printedName": "uuid",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "ImplicitlyUnwrappedOptional",
+ "printedName": "Foundation.UUID?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "UUID",
+ "printedName": "Foundation.UUID",
+ "usr": "s:10Foundation4UUIDV"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth12IBPeripheralC4uuid10Foundation4UUIDVSgvp",
+ "mangledName": "$s12IOTBluetooth12IBPeripheralC4uuid10Foundation4UUIDVSgvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "SetterAccess",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "ImplicitlyUnwrappedOptional",
+ "printedName": "Foundation.UUID?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "UUID",
+ "printedName": "Foundation.UUID",
+ "usr": "s:10Foundation4UUIDV"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBPeripheralC4uuid10Foundation4UUIDVSgvg",
+ "mangledName": "$s12IOTBluetooth12IBPeripheralC4uuid10Foundation4UUIDVSgvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "name",
+ "printedName": "name",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth12IBPeripheralC4nameSSvp",
+ "mangledName": "$s12IOTBluetooth12IBPeripheralC4nameSSvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "SetterAccess",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBPeripheralC4nameSSvg",
+ "mangledName": "$s12IOTBluetooth12IBPeripheralC4nameSSvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "softwareVersion",
+ "printedName": "softwareVersion",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth12IBPeripheralC15softwareVersionSSvp",
+ "mangledName": "$s12IOTBluetooth12IBPeripheralC15softwareVersionSSvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "SetterAccess",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBPeripheralC15softwareVersionSSvg",
+ "mangledName": "$s12IOTBluetooth12IBPeripheralC15softwareVersionSSvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "battery",
+ "printedName": "battery",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth12IBPeripheralC7batterySivp",
+ "mangledName": "$s12IOTBluetooth12IBPeripheralC7batterySivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "SetterAccess",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth12IBPeripheralC7batterySivg",
+ "mangledName": "$s12IOTBluetooth12IBPeripheralC7batterySivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ }
+ ]
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:12IOTBluetooth12IBPeripheralC",
+ "mangledName": "$s12IOTBluetooth12IBPeripheralC",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "hasMissingDesignatedInitializers": true
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBEpo",
+ "printedName": "IBEpo",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "UID",
+ "printedName": "UID",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth5IBEpoC3UIDSivp",
+ "mangledName": "$s12IOTBluetooth5IBEpoC3UIDSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth5IBEpoC3UIDSivg",
+ "mangledName": "$s12IOTBluetooth5IBEpoC3UIDSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth5IBEpoC3UIDSivs",
+ "mangledName": "$s12IOTBluetooth5IBEpoC3UIDSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth5IBEpoC3UIDSivM",
+ "mangledName": "$s12IOTBluetooth5IBEpoC3UIDSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "nameLength",
+ "printedName": "nameLength",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth5IBEpoC10nameLengthSivp",
+ "mangledName": "$s12IOTBluetooth5IBEpoC10nameLengthSivp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth5IBEpoC10nameLengthSivg",
+ "mangledName": "$s12IOTBluetooth5IBEpoC10nameLengthSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth5IBEpoC10nameLengthSivs",
+ "mangledName": "$s12IOTBluetooth5IBEpoC10nameLengthSivs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth5IBEpoC10nameLengthSivM",
+ "mangledName": "$s12IOTBluetooth5IBEpoC10nameLengthSivM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "fileName",
+ "printedName": "fileName",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth5IBEpoC8fileNameSSvp",
+ "mangledName": "$s12IOTBluetooth5IBEpoC8fileNameSSvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth5IBEpoC8fileNameSSvg",
+ "mangledName": "$s12IOTBluetooth5IBEpoC8fileNameSSvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth5IBEpoC8fileNameSSvs",
+ "mangledName": "$s12IOTBluetooth5IBEpoC8fileNameSSvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth5IBEpoC8fileNameSSvM",
+ "mangledName": "$s12IOTBluetooth5IBEpoC8fileNameSSvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "filePath",
+ "printedName": "filePath",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth5IBEpoC8filePathSSvp",
+ "mangledName": "$s12IOTBluetooth5IBEpoC8filePathSSvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "HasInitialValue",
+ "HasStorage",
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth5IBEpoC8filePathSSvg",
+ "mangledName": "$s12IOTBluetooth5IBEpoC8filePathSSvg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Set",
+ "printedName": "Set()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth5IBEpoC8filePathSSvs",
+ "mangledName": "$s12IOTBluetooth5IBEpoC8filePathSSvs",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "set"
+ },
+ {
+ "kind": "Accessor",
+ "name": "Modify",
+ "printedName": "Modify()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth5IBEpoC8filePathSSvM",
+ "mangledName": "$s12IOTBluetooth5IBEpoC8filePathSSvM",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "_modify"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBEpo",
+ "printedName": "IOTBluetooth.IBEpo",
+ "usr": "s:12IOTBluetooth5IBEpoC"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth5IBEpoCACycfc",
+ "mangledName": "$s12IOTBluetooth5IBEpoCACycfc",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Var",
+ "name": "description",
+ "printedName": "description",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth5IBEpoC11descriptionSSvp",
+ "mangledName": "$s12IOTBluetooth5IBEpoC11descriptionSSvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth5IBEpoC11descriptionSSvg",
+ "mangledName": "$s12IOTBluetooth5IBEpoC11descriptionSSvg",
+ "moduleName": "IOTBluetooth",
+ "accessorKind": "get"
+ }
+ ]
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:12IOTBluetooth5IBEpoC",
+ "mangledName": "$s12IOTBluetooth5IBEpoC",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "IBLanguage",
+ "printedName": "IBLanguage",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "chinese",
+ "printedName": "chinese",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBLanguage.Type) -> IOTBluetooth.IBLanguage",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBLanguage",
+ "printedName": "IOTBluetooth.IBLanguage",
+ "usr": "s:12IOTBluetooth10IBLanguageO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBLanguage.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBLanguage",
+ "printedName": "IOTBluetooth.IBLanguage",
+ "usr": "s:12IOTBluetooth10IBLanguageO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth10IBLanguageO7chineseyA2CmF",
+ "mangledName": "$s12IOTBluetooth10IBLanguageO7chineseyA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "english",
+ "printedName": "english",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBLanguage.Type) -> IOTBluetooth.IBLanguage",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBLanguage",
+ "printedName": "IOTBluetooth.IBLanguage",
+ "usr": "s:12IOTBluetooth10IBLanguageO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBLanguage.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBLanguage",
+ "printedName": "IOTBluetooth.IBLanguage",
+ "usr": "s:12IOTBluetooth10IBLanguageO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth10IBLanguageO7englishyA2CmF",
+ "mangledName": "$s12IOTBluetooth10IBLanguageO7englishyA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "japanese",
+ "printedName": "japanese",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBLanguage.Type) -> IOTBluetooth.IBLanguage",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBLanguage",
+ "printedName": "IOTBluetooth.IBLanguage",
+ "usr": "s:12IOTBluetooth10IBLanguageO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBLanguage.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBLanguage",
+ "printedName": "IOTBluetooth.IBLanguage",
+ "usr": "s:12IOTBluetooth10IBLanguageO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth10IBLanguageO8japaneseyA2CmF",
+ "mangledName": "$s12IOTBluetooth10IBLanguageO8japaneseyA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "korean",
+ "printedName": "korean",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBLanguage.Type) -> IOTBluetooth.IBLanguage",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBLanguage",
+ "printedName": "IOTBluetooth.IBLanguage",
+ "usr": "s:12IOTBluetooth10IBLanguageO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBLanguage.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBLanguage",
+ "printedName": "IOTBluetooth.IBLanguage",
+ "usr": "s:12IOTBluetooth10IBLanguageO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth10IBLanguageO6koreanyA2CmF",
+ "mangledName": "$s12IOTBluetooth10IBLanguageO6koreanyA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "spanish",
+ "printedName": "spanish",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBLanguage.Type) -> IOTBluetooth.IBLanguage",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBLanguage",
+ "printedName": "IOTBluetooth.IBLanguage",
+ "usr": "s:12IOTBluetooth10IBLanguageO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBLanguage.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBLanguage",
+ "printedName": "IOTBluetooth.IBLanguage",
+ "usr": "s:12IOTBluetooth10IBLanguageO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth10IBLanguageO7spanishyA2CmF",
+ "mangledName": "$s12IOTBluetooth10IBLanguageO7spanishyA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "russian",
+ "printedName": "russian",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBLanguage.Type) -> IOTBluetooth.IBLanguage",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBLanguage",
+ "printedName": "IOTBluetooth.IBLanguage",
+ "usr": "s:12IOTBluetooth10IBLanguageO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBLanguage.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBLanguage",
+ "printedName": "IOTBluetooth.IBLanguage",
+ "usr": "s:12IOTBluetooth10IBLanguageO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth10IBLanguageO7russianyA2CmF",
+ "mangledName": "$s12IOTBluetooth10IBLanguageO7russianyA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "croatian",
+ "printedName": "croatian",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBLanguage.Type) -> IOTBluetooth.IBLanguage",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBLanguage",
+ "printedName": "IOTBluetooth.IBLanguage",
+ "usr": "s:12IOTBluetooth10IBLanguageO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBLanguage.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBLanguage",
+ "printedName": "IOTBluetooth.IBLanguage",
+ "usr": "s:12IOTBluetooth10IBLanguageO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth10IBLanguageO8croatianyA2CmF",
+ "mangledName": "$s12IOTBluetooth10IBLanguageO8croatianyA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "german",
+ "printedName": "german",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBLanguage.Type) -> IOTBluetooth.IBLanguage",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBLanguage",
+ "printedName": "IOTBluetooth.IBLanguage",
+ "usr": "s:12IOTBluetooth10IBLanguageO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBLanguage.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBLanguage",
+ "printedName": "IOTBluetooth.IBLanguage",
+ "usr": "s:12IOTBluetooth10IBLanguageO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth10IBLanguageO6germanyA2CmF",
+ "mangledName": "$s12IOTBluetooth10IBLanguageO6germanyA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "portuguese",
+ "printedName": "portuguese",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBLanguage.Type) -> IOTBluetooth.IBLanguage",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBLanguage",
+ "printedName": "IOTBluetooth.IBLanguage",
+ "usr": "s:12IOTBluetooth10IBLanguageO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBLanguage.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBLanguage",
+ "printedName": "IOTBluetooth.IBLanguage",
+ "usr": "s:12IOTBluetooth10IBLanguageO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth10IBLanguageO10portugueseyA2CmF",
+ "mangledName": "$s12IOTBluetooth10IBLanguageO10portugueseyA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "french",
+ "printedName": "french",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBLanguage.Type) -> IOTBluetooth.IBLanguage",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBLanguage",
+ "printedName": "IOTBluetooth.IBLanguage",
+ "usr": "s:12IOTBluetooth10IBLanguageO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBLanguage.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBLanguage",
+ "printedName": "IOTBluetooth.IBLanguage",
+ "usr": "s:12IOTBluetooth10IBLanguageO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth10IBLanguageO6frenchyA2CmF",
+ "mangledName": "$s12IOTBluetooth10IBLanguageO6frenchyA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "dutch",
+ "printedName": "dutch",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBLanguage.Type) -> IOTBluetooth.IBLanguage",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBLanguage",
+ "printedName": "IOTBluetooth.IBLanguage",
+ "usr": "s:12IOTBluetooth10IBLanguageO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBLanguage.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBLanguage",
+ "printedName": "IOTBluetooth.IBLanguage",
+ "usr": "s:12IOTBluetooth10IBLanguageO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth10IBLanguageO5dutchyA2CmF",
+ "mangledName": "$s12IOTBluetooth10IBLanguageO5dutchyA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "italian",
+ "printedName": "italian",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBLanguage.Type) -> IOTBluetooth.IBLanguage",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBLanguage",
+ "printedName": "IOTBluetooth.IBLanguage",
+ "usr": "s:12IOTBluetooth10IBLanguageO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBLanguage.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBLanguage",
+ "printedName": "IOTBluetooth.IBLanguage",
+ "usr": "s:12IOTBluetooth10IBLanguageO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth10IBLanguageO7italianyA2CmF",
+ "mangledName": "$s12IOTBluetooth10IBLanguageO7italianyA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "czech",
+ "printedName": "czech",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBLanguage.Type) -> IOTBluetooth.IBLanguage",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBLanguage",
+ "printedName": "IOTBluetooth.IBLanguage",
+ "usr": "s:12IOTBluetooth10IBLanguageO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBLanguage.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBLanguage",
+ "printedName": "IOTBluetooth.IBLanguage",
+ "usr": "s:12IOTBluetooth10IBLanguageO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth10IBLanguageO5czechyA2CmF",
+ "mangledName": "$s12IOTBluetooth10IBLanguageO5czechyA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "greek",
+ "printedName": "greek",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBLanguage.Type) -> IOTBluetooth.IBLanguage",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBLanguage",
+ "printedName": "IOTBluetooth.IBLanguage",
+ "usr": "s:12IOTBluetooth10IBLanguageO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBLanguage.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBLanguage",
+ "printedName": "IOTBluetooth.IBLanguage",
+ "usr": "s:12IOTBluetooth10IBLanguageO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth10IBLanguageO5greekyA2CmF",
+ "mangledName": "$s12IOTBluetooth10IBLanguageO5greekyA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "hindi",
+ "printedName": "hindi",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBLanguage.Type) -> IOTBluetooth.IBLanguage",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBLanguage",
+ "printedName": "IOTBluetooth.IBLanguage",
+ "usr": "s:12IOTBluetooth10IBLanguageO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBLanguage.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBLanguage",
+ "printedName": "IOTBluetooth.IBLanguage",
+ "usr": "s:12IOTBluetooth10IBLanguageO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth10IBLanguageO5hindiyA2CmF",
+ "mangledName": "$s12IOTBluetooth10IBLanguageO5hindiyA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "indonesian",
+ "printedName": "indonesian",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBLanguage.Type) -> IOTBluetooth.IBLanguage",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBLanguage",
+ "printedName": "IOTBluetooth.IBLanguage",
+ "usr": "s:12IOTBluetooth10IBLanguageO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBLanguage.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBLanguage",
+ "printedName": "IOTBluetooth.IBLanguage",
+ "usr": "s:12IOTBluetooth10IBLanguageO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth10IBLanguageO10indonesianyA2CmF",
+ "mangledName": "$s12IOTBluetooth10IBLanguageO10indonesianyA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "malaysian",
+ "printedName": "malaysian",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBLanguage.Type) -> IOTBluetooth.IBLanguage",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBLanguage",
+ "printedName": "IOTBluetooth.IBLanguage",
+ "usr": "s:12IOTBluetooth10IBLanguageO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBLanguage.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBLanguage",
+ "printedName": "IOTBluetooth.IBLanguage",
+ "usr": "s:12IOTBluetooth10IBLanguageO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth10IBLanguageO9malaysianyA2CmF",
+ "mangledName": "$s12IOTBluetooth10IBLanguageO9malaysianyA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "polish",
+ "printedName": "polish",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBLanguage.Type) -> IOTBluetooth.IBLanguage",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBLanguage",
+ "printedName": "IOTBluetooth.IBLanguage",
+ "usr": "s:12IOTBluetooth10IBLanguageO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBLanguage.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBLanguage",
+ "printedName": "IOTBluetooth.IBLanguage",
+ "usr": "s:12IOTBluetooth10IBLanguageO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth10IBLanguageO6polishyA2CmF",
+ "mangledName": "$s12IOTBluetooth10IBLanguageO6polishyA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "thai",
+ "printedName": "thai",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBLanguage.Type) -> IOTBluetooth.IBLanguage",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBLanguage",
+ "printedName": "IOTBluetooth.IBLanguage",
+ "usr": "s:12IOTBluetooth10IBLanguageO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBLanguage.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBLanguage",
+ "printedName": "IOTBluetooth.IBLanguage",
+ "usr": "s:12IOTBluetooth10IBLanguageO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth10IBLanguageO4thaiyA2CmF",
+ "mangledName": "$s12IOTBluetooth10IBLanguageO4thaiyA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "vietnamese",
+ "printedName": "vietnamese",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBLanguage.Type) -> IOTBluetooth.IBLanguage",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBLanguage",
+ "printedName": "IOTBluetooth.IBLanguage",
+ "usr": "s:12IOTBluetooth10IBLanguageO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBLanguage.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBLanguage",
+ "printedName": "IOTBluetooth.IBLanguage",
+ "usr": "s:12IOTBluetooth10IBLanguageO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth10IBLanguageO10vietnameseyA2CmF",
+ "mangledName": "$s12IOTBluetooth10IBLanguageO10vietnameseyA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "finnish",
+ "printedName": "finnish",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBLanguage.Type) -> IOTBluetooth.IBLanguage",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBLanguage",
+ "printedName": "IOTBluetooth.IBLanguage",
+ "usr": "s:12IOTBluetooth10IBLanguageO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBLanguage.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBLanguage",
+ "printedName": "IOTBluetooth.IBLanguage",
+ "usr": "s:12IOTBluetooth10IBLanguageO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth10IBLanguageO7finnishyA2CmF",
+ "mangledName": "$s12IOTBluetooth10IBLanguageO7finnishyA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "romanian",
+ "printedName": "romanian",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBLanguage.Type) -> IOTBluetooth.IBLanguage",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBLanguage",
+ "printedName": "IOTBluetooth.IBLanguage",
+ "usr": "s:12IOTBluetooth10IBLanguageO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBLanguage.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBLanguage",
+ "printedName": "IOTBluetooth.IBLanguage",
+ "usr": "s:12IOTBluetooth10IBLanguageO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth10IBLanguageO8romanianyA2CmF",
+ "mangledName": "$s12IOTBluetooth10IBLanguageO8romanianyA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "turkish",
+ "printedName": "turkish",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(IOTBluetooth.IBLanguage.Type) -> IOTBluetooth.IBLanguage",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBLanguage",
+ "printedName": "IOTBluetooth.IBLanguage",
+ "usr": "s:12IOTBluetooth10IBLanguageO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "IOTBluetooth.IBLanguage.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBLanguage",
+ "printedName": "IOTBluetooth.IBLanguage",
+ "usr": "s:12IOTBluetooth10IBLanguageO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:12IOTBluetooth10IBLanguageO7turkishyA2CmF",
+ "mangledName": "$s12IOTBluetooth10IBLanguageO7turkishyA2CmF",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "rawValue",
+ "printedName": "rawValue",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:12IOTBluetooth10IBLanguageO8rawValueSivp",
+ "mangledName": "$s12IOTBluetooth10IBLanguageO8rawValueSivp",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:12IOTBluetooth10IBLanguageO8rawValueSivg",
+ "mangledName": "$s12IOTBluetooth10IBLanguageO8rawValueSivg",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(rawValue:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "IOTBluetooth.IBLanguage?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IBLanguage",
+ "printedName": "IOTBluetooth.IBLanguage",
+ "usr": "s:12IOTBluetooth10IBLanguageO"
+ }
+ ],
+ "usr": "s:Sq"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:12IOTBluetooth10IBLanguageO8rawValueACSgSi_tcfc",
+ "mangledName": "$s12IOTBluetooth10IBLanguageO8rawValueACSgSi_tcfc",
+ "moduleName": "IOTBluetooth",
+ "implicit": true,
+ "init_kind": "Designated"
+ }
+ ],
+ "declKind": "Enum",
+ "usr": "s:12IOTBluetooth10IBLanguageO",
+ "mangledName": "$s12IOTBluetooth10IBLanguageO",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl",
+ "RawDocComment"
+ ],
+ "enumRawTypeName": "Int",
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Equatable",
+ "printedName": "Equatable",
+ "usr": "s:SQ",
+ "mangledName": "$sSQ"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Hashable",
+ "printedName": "Hashable",
+ "usr": "s:SH",
+ "mangledName": "$sSH"
+ },
+ {
+ "kind": "Conformance",
+ "name": "RawRepresentable",
+ "printedName": "RawRepresentable",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "RawValue",
+ "printedName": "RawValue",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ]
+ }
+ ],
+ "usr": "s:SY",
+ "mangledName": "$sSY"
+ }
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "CoreBluetooth",
+ "printedName": "CoreBluetooth",
+ "declKind": "Import",
+ "moduleName": "IOTBluetooth"
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "Array",
+ "printedName": "Array",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "int",
+ "printedName": "int",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:Sa12IOTBluetooths5UInt8VRszlE3intSivp",
+ "mangledName": "$sSa12IOTBluetooths5UInt8VRszlE3intSivp",
+ "moduleName": "IOTBluetooth",
+ "isFromExtension": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:Sa12IOTBluetooths5UInt8VRszlE3intSivg",
+ "mangledName": "$sSa12IOTBluetooths5UInt8VRszlE3intSivg",
+ "moduleName": "IOTBluetooth",
+ "genericSig": "<τ_0_0 where τ_0_0 == Swift.UInt8>",
+ "sugared_genericSig": "<Element where Element == Swift.UInt8>",
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "data",
+ "printedName": "data",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Data",
+ "printedName": "Foundation.Data",
+ "usr": "s:10Foundation4DataV"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:Sa12IOTBluetooths5UInt8VRszlE4data10Foundation4DataVvp",
+ "mangledName": "$sSa12IOTBluetooths5UInt8VRszlE4data10Foundation4DataVvp",
+ "moduleName": "IOTBluetooth",
+ "isFromExtension": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Data",
+ "printedName": "Foundation.Data",
+ "usr": "s:10Foundation4DataV"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:Sa12IOTBluetooths5UInt8VRszlE4data10Foundation4DataVvg",
+ "mangledName": "$sSa12IOTBluetooths5UInt8VRszlE4data10Foundation4DataVvg",
+ "moduleName": "IOTBluetooth",
+ "genericSig": "<τ_0_0 where τ_0_0 == Swift.UInt8>",
+ "sugared_genericSig": "<Element where Element == Swift.UInt8>",
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ }
+ ],
+ "declKind": "Struct",
+ "usr": "s:Sa",
+ "mangledName": "$sSa",
+ "moduleName": "Swift",
+ "genericSig": "<τ_0_0>",
+ "sugared_genericSig": "<Element>",
+ "declAttributes": [
+ "Frozen"
+ ],
+ "isExternal": true,
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "_DestructorSafeContainer",
+ "printedName": "_DestructorSafeContainer",
+ "usr": "s:s24_DestructorSafeContainerP",
+ "mangledName": "$ss24_DestructorSafeContainerP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_ArrayProtocol",
+ "printedName": "_ArrayProtocol",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "_Buffer",
+ "printedName": "_Buffer",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "_ArrayBuffer",
+ "printedName": "Swift._ArrayBuffer<τ_0_0>",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "GenericTypeParam",
+ "printedName": "τ_0_0"
+ }
+ ],
+ "usr": "s:s12_ArrayBufferV"
+ }
+ ]
+ }
+ ],
+ "usr": "s:s14_ArrayProtocolP",
+ "mangledName": "$ss14_ArrayProtocolP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "RandomAccessCollection",
+ "printedName": "RandomAccessCollection",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "Element",
+ "printedName": "Element",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "GenericTypeParam",
+ "printedName": "τ_0_0"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "Index",
+ "printedName": "Index",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "SubSequence",
+ "printedName": "SubSequence",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "ArraySlice",
+ "printedName": "Swift.ArraySlice<τ_0_0>",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "GenericTypeParam",
+ "printedName": "τ_0_0"
+ }
+ ],
+ "usr": "s:s10ArraySliceV"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "Indices",
+ "printedName": "Indices",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Range",
+ "printedName": "Swift.Range<Swift.Int>",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sn"
+ }
+ ]
+ }
+ ],
+ "usr": "s:Sk",
+ "mangledName": "$sSk"
+ },
+ {
+ "kind": "Conformance",
+ "name": "MutableCollection",
+ "printedName": "MutableCollection",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "Element",
+ "printedName": "Element",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "GenericTypeParam",
+ "printedName": "τ_0_0"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "Index",
+ "printedName": "Index",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "SubSequence",
+ "printedName": "SubSequence",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "ArraySlice",
+ "printedName": "Swift.ArraySlice<τ_0_0>",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "GenericTypeParam",
+ "printedName": "τ_0_0"
+ }
+ ],
+ "usr": "s:s10ArraySliceV"
+ }
+ ]
+ }
+ ],
+ "usr": "s:SM",
+ "mangledName": "$sSM"
+ },
+ {
+ "kind": "Conformance",
+ "name": "BidirectionalCollection",
+ "printedName": "BidirectionalCollection",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "Element",
+ "printedName": "Element",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "GenericTypeParam",
+ "printedName": "τ_0_0"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "Index",
+ "printedName": "Index",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "SubSequence",
+ "printedName": "SubSequence",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "ArraySlice",
+ "printedName": "Swift.ArraySlice<τ_0_0>",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "GenericTypeParam",
+ "printedName": "τ_0_0"
+ }
+ ],
+ "usr": "s:s10ArraySliceV"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "Indices",
+ "printedName": "Indices",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Range",
+ "printedName": "Swift.Range<Swift.Int>",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sn"
+ }
+ ]
+ }
+ ],
+ "usr": "s:SK",
+ "mangledName": "$sSK"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Collection",
+ "printedName": "Collection",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "Element",
+ "printedName": "Element",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "GenericTypeParam",
+ "printedName": "τ_0_0"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "Index",
+ "printedName": "Index",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "Iterator",
+ "printedName": "Iterator",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IndexingIterator",
+ "printedName": "Swift.IndexingIterator<[τ_0_0]>",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[τ_0_0]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "GenericTypeParam",
+ "printedName": "τ_0_0"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ],
+ "usr": "s:s16IndexingIteratorV"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "SubSequence",
+ "printedName": "SubSequence",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "ArraySlice",
+ "printedName": "Swift.ArraySlice<τ_0_0>",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "GenericTypeParam",
+ "printedName": "τ_0_0"
+ }
+ ],
+ "usr": "s:s10ArraySliceV"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "Indices",
+ "printedName": "Indices",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Range",
+ "printedName": "Swift.Range<Swift.Int>",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sn"
+ }
+ ]
+ }
+ ],
+ "usr": "s:Sl",
+ "mangledName": "$sSl"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Sequence",
+ "printedName": "Sequence",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "Element",
+ "printedName": "Element",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "GenericTypeParam",
+ "printedName": "τ_0_0"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "Iterator",
+ "printedName": "Iterator",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "IndexingIterator",
+ "printedName": "Swift.IndexingIterator<[τ_0_0]>",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[τ_0_0]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "GenericTypeParam",
+ "printedName": "τ_0_0"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ],
+ "usr": "s:s16IndexingIteratorV"
+ }
+ ]
+ }
+ ],
+ "usr": "s:ST",
+ "mangledName": "$sST"
+ },
+ {
+ "kind": "Conformance",
+ "name": "ExpressibleByArrayLiteral",
+ "printedName": "ExpressibleByArrayLiteral",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "ArrayLiteralElement",
+ "printedName": "ArrayLiteralElement",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "GenericTypeParam",
+ "printedName": "τ_0_0"
+ }
+ ]
+ }
+ ],
+ "usr": "s:s25ExpressibleByArrayLiteralP",
+ "mangledName": "$ss25ExpressibleByArrayLiteralP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "RangeReplaceableCollection",
+ "printedName": "RangeReplaceableCollection",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "SubSequence",
+ "printedName": "SubSequence",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "ArraySlice",
+ "printedName": "Swift.ArraySlice<τ_0_0>",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "GenericTypeParam",
+ "printedName": "τ_0_0"
+ }
+ ],
+ "usr": "s:s10ArraySliceV"
+ }
+ ]
+ }
+ ],
+ "usr": "s:Sm",
+ "mangledName": "$sSm"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CustomReflectable",
+ "printedName": "CustomReflectable",
+ "usr": "s:s17CustomReflectableP",
+ "mangledName": "$ss17CustomReflectableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CustomStringConvertible",
+ "printedName": "CustomStringConvertible",
+ "usr": "s:s23CustomStringConvertibleP",
+ "mangledName": "$ss23CustomStringConvertibleP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CustomDebugStringConvertible",
+ "printedName": "CustomDebugStringConvertible",
+ "usr": "s:s28CustomDebugStringConvertibleP",
+ "mangledName": "$ss28CustomDebugStringConvertibleP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Equatable",
+ "printedName": "Equatable",
+ "usr": "s:SQ",
+ "mangledName": "$sSQ"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Hashable",
+ "printedName": "Hashable",
+ "usr": "s:SH",
+ "mangledName": "$sSH"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_HasCustomAnyHashableRepresentation",
+ "printedName": "_HasCustomAnyHashableRepresentation",
+ "usr": "s:s35_HasCustomAnyHashableRepresentationP",
+ "mangledName": "$ss35_HasCustomAnyHashableRepresentationP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Sendable",
+ "printedName": "Sendable",
+ "usr": "s:s8SendableP",
+ "mangledName": "$ss8SendableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Encodable",
+ "printedName": "Encodable",
+ "usr": "s:SE",
+ "mangledName": "$sSE"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Decodable",
+ "printedName": "Decodable",
+ "usr": "s:Se",
+ "mangledName": "$sSe"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_HasContiguousBytes",
+ "printedName": "_HasContiguousBytes",
+ "usr": "s:s19_HasContiguousBytesP",
+ "mangledName": "$ss19_HasContiguousBytesP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_ObjectiveCBridgeable",
+ "printedName": "_ObjectiveCBridgeable",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "_ObjectiveCType",
+ "printedName": "_ObjectiveCType",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "NSArray",
+ "printedName": "Foundation.NSArray",
+ "usr": "c:objc(cs)NSArray"
+ }
+ ]
+ }
+ ],
+ "usr": "s:s21_ObjectiveCBridgeableP",
+ "mangledName": "$ss21_ObjectiveCBridgeableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CVarArg",
+ "printedName": "CVarArg",
+ "usr": "s:s7CVarArgP",
+ "mangledName": "$ss7CVarArgP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "ContiguousBytes",
+ "printedName": "ContiguousBytes",
+ "usr": "s:10Foundation15ContiguousBytesP",
+ "mangledName": "$s10Foundation15ContiguousBytesP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "EncodableWithConfiguration",
+ "printedName": "EncodableWithConfiguration",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "EncodingConfiguration",
+ "printedName": "EncodingConfiguration",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "DependentMember",
+ "printedName": "τ_0_0.EncodingConfiguration"
+ }
+ ]
+ }
+ ],
+ "usr": "s:10Foundation26EncodableWithConfigurationP",
+ "mangledName": "$s10Foundation26EncodableWithConfigurationP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "DecodableWithConfiguration",
+ "printedName": "DecodableWithConfiguration",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "DecodingConfiguration",
+ "printedName": "DecodingConfiguration",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "DependentMember",
+ "printedName": "τ_0_0.DecodingConfiguration"
+ }
+ ]
+ }
+ ],
+ "usr": "s:10Foundation26DecodableWithConfigurationP",
+ "mangledName": "$s10Foundation26DecodableWithConfigurationP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "DataProtocol",
+ "printedName": "DataProtocol",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "Regions",
+ "printedName": "Regions",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "CollectionOfOne",
+ "printedName": "Swift.CollectionOfOne<[Swift.UInt8]>",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[Swift.UInt8]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "UInt8",
+ "printedName": "Swift.UInt8",
+ "usr": "s:s5UInt8V"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ],
+ "usr": "s:s15CollectionOfOneV"
+ }
+ ]
+ }
+ ],
+ "usr": "s:10Foundation12DataProtocolP",
+ "mangledName": "$s10Foundation12DataProtocolP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "MutableDataProtocol",
+ "printedName": "MutableDataProtocol",
+ "usr": "s:10Foundation19MutableDataProtocolP",
+ "mangledName": "$s10Foundation19MutableDataProtocolP"
+ }
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "String",
+ "printedName": "String",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "binary",
+ "printedName": "binary",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:SS12IOTBluetoothE6binarySSvp",
+ "mangledName": "$sSS12IOTBluetoothE6binarySSvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:SS12IOTBluetoothE6binarySSvg",
+ "mangledName": "$sSS12IOTBluetoothE6binarySSvg",
+ "moduleName": "IOTBluetooth",
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "data",
+ "printedName": "data",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Foundation.Data?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Data",
+ "printedName": "Foundation.Data",
+ "usr": "s:10Foundation4DataV"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:SS12IOTBluetoothE4data10Foundation4DataVSgvp",
+ "mangledName": "$sSS12IOTBluetoothE4data10Foundation4DataVSgvp",
+ "moduleName": "IOTBluetooth",
+ "isFromExtension": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Foundation.Data?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Data",
+ "printedName": "Foundation.Data",
+ "usr": "s:10Foundation4DataV"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:SS12IOTBluetoothE4data10Foundation4DataVSgvg",
+ "mangledName": "$sSS12IOTBluetoothE4data10Foundation4DataVSgvg",
+ "moduleName": "IOTBluetooth",
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ }
+ ],
+ "declKind": "Struct",
+ "usr": "s:SS",
+ "mangledName": "$sSS",
+ "moduleName": "Swift",
+ "declAttributes": [
+ "Frozen"
+ ],
+ "isExternal": true,
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Decodable",
+ "printedName": "Decodable",
+ "usr": "s:Se",
+ "mangledName": "$sSe"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Encodable",
+ "printedName": "Encodable",
+ "usr": "s:SE",
+ "mangledName": "$sSE"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CodingKeyRepresentable",
+ "printedName": "CodingKeyRepresentable",
+ "usr": "s:s22CodingKeyRepresentableP",
+ "mangledName": "$ss22CodingKeyRepresentableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_HasContiguousBytes",
+ "printedName": "_HasContiguousBytes",
+ "usr": "s:s19_HasContiguousBytesP",
+ "mangledName": "$ss19_HasContiguousBytesP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CustomReflectable",
+ "printedName": "CustomReflectable",
+ "usr": "s:s17CustomReflectableP",
+ "mangledName": "$ss17CustomReflectableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_CustomPlaygroundQuickLookable",
+ "printedName": "_CustomPlaygroundQuickLookable",
+ "usr": "s:s30_CustomPlaygroundQuickLookableP",
+ "mangledName": "$ss30_CustomPlaygroundQuickLookableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "TextOutputStream",
+ "printedName": "TextOutputStream",
+ "usr": "s:s16TextOutputStreamP",
+ "mangledName": "$ss16TextOutputStreamP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "TextOutputStreamable",
+ "printedName": "TextOutputStreamable",
+ "usr": "s:s20TextOutputStreamableP",
+ "mangledName": "$ss20TextOutputStreamableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Hashable",
+ "printedName": "Hashable",
+ "usr": "s:SH",
+ "mangledName": "$sSH"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Sendable",
+ "printedName": "Sendable",
+ "usr": "s:s8SendableP",
+ "mangledName": "$ss8SendableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_ExpressibleByBuiltinUnicodeScalarLiteral",
+ "printedName": "_ExpressibleByBuiltinUnicodeScalarLiteral",
+ "usr": "s:s41_ExpressibleByBuiltinUnicodeScalarLiteralP",
+ "mangledName": "$ss41_ExpressibleByBuiltinUnicodeScalarLiteralP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_ExpressibleByBuiltinExtendedGraphemeClusterLiteral",
+ "printedName": "_ExpressibleByBuiltinExtendedGraphemeClusterLiteral",
+ "usr": "s:s51_ExpressibleByBuiltinExtendedGraphemeClusterLiteralP",
+ "mangledName": "$ss51_ExpressibleByBuiltinExtendedGraphemeClusterLiteralP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_ExpressibleByBuiltinStringLiteral",
+ "printedName": "_ExpressibleByBuiltinStringLiteral",
+ "usr": "s:s34_ExpressibleByBuiltinStringLiteralP",
+ "mangledName": "$ss34_ExpressibleByBuiltinStringLiteralP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "ExpressibleByStringLiteral",
+ "printedName": "ExpressibleByStringLiteral",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "StringLiteralType",
+ "printedName": "StringLiteralType",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ]
+ }
+ ],
+ "usr": "s:s26ExpressibleByStringLiteralP",
+ "mangledName": "$ss26ExpressibleByStringLiteralP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "ExpressibleByExtendedGraphemeClusterLiteral",
+ "printedName": "ExpressibleByExtendedGraphemeClusterLiteral",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "ExtendedGraphemeClusterLiteralType",
+ "printedName": "ExtendedGraphemeClusterLiteralType",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ]
+ }
+ ],
+ "usr": "s:s43ExpressibleByExtendedGraphemeClusterLiteralP",
+ "mangledName": "$ss43ExpressibleByExtendedGraphemeClusterLiteralP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "ExpressibleByUnicodeScalarLiteral",
+ "printedName": "ExpressibleByUnicodeScalarLiteral",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "UnicodeScalarLiteralType",
+ "printedName": "UnicodeScalarLiteralType",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ]
+ }
+ ],
+ "usr": "s:s33ExpressibleByUnicodeScalarLiteralP",
+ "mangledName": "$ss33ExpressibleByUnicodeScalarLiteralP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CustomDebugStringConvertible",
+ "printedName": "CustomDebugStringConvertible",
+ "usr": "s:s28CustomDebugStringConvertibleP",
+ "mangledName": "$ss28CustomDebugStringConvertibleP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CustomStringConvertible",
+ "printedName": "CustomStringConvertible",
+ "usr": "s:s23CustomStringConvertibleP",
+ "mangledName": "$ss23CustomStringConvertibleP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "BidirectionalCollection",
+ "printedName": "BidirectionalCollection",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "Element",
+ "printedName": "Element",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Character",
+ "printedName": "Swift.Character",
+ "usr": "s:SJ"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "Index",
+ "printedName": "Index",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Index",
+ "printedName": "Swift.String.Index",
+ "usr": "s:SS5IndexV"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "SubSequence",
+ "printedName": "SubSequence",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Substring",
+ "printedName": "Swift.Substring",
+ "usr": "s:Ss"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "Indices",
+ "printedName": "Indices",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "DefaultIndices",
+ "printedName": "Swift.DefaultIndices<Swift.String>",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:SI"
+ }
+ ]
+ }
+ ],
+ "usr": "s:SK",
+ "mangledName": "$sSK"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Collection",
+ "printedName": "Collection",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "Element",
+ "printedName": "Element",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Character",
+ "printedName": "Swift.Character",
+ "usr": "s:SJ"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "Index",
+ "printedName": "Index",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Index",
+ "printedName": "Swift.String.Index",
+ "usr": "s:SS5IndexV"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "Iterator",
+ "printedName": "Iterator",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Iterator",
+ "printedName": "Swift.String.Iterator",
+ "usr": "s:SS8IteratorV"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "SubSequence",
+ "printedName": "SubSequence",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Substring",
+ "printedName": "Swift.Substring",
+ "usr": "s:Ss"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "Indices",
+ "printedName": "Indices",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "DefaultIndices",
+ "printedName": "Swift.DefaultIndices<Swift.String>",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:SI"
+ }
+ ]
+ }
+ ],
+ "usr": "s:Sl",
+ "mangledName": "$sSl"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Sequence",
+ "printedName": "Sequence",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "Element",
+ "printedName": "Element",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Character",
+ "printedName": "Swift.Character",
+ "usr": "s:SJ"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "Iterator",
+ "printedName": "Iterator",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Iterator",
+ "printedName": "Swift.String.Iterator",
+ "usr": "s:SS8IteratorV"
+ }
+ ]
+ }
+ ],
+ "usr": "s:ST",
+ "mangledName": "$sST"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Equatable",
+ "printedName": "Equatable",
+ "usr": "s:SQ",
+ "mangledName": "$sSQ"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Comparable",
+ "printedName": "Comparable",
+ "usr": "s:SL",
+ "mangledName": "$sSL"
+ },
+ {
+ "kind": "Conformance",
+ "name": "StringProtocol",
+ "printedName": "StringProtocol",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "UTF8View",
+ "printedName": "UTF8View",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "UTF8View",
+ "printedName": "Swift.String.UTF8View",
+ "usr": "s:SS8UTF8ViewV"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "UTF16View",
+ "printedName": "UTF16View",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "UTF16View",
+ "printedName": "Swift.String.UTF16View",
+ "usr": "s:SS9UTF16ViewV"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "UnicodeScalarView",
+ "printedName": "UnicodeScalarView",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "UnicodeScalarView",
+ "printedName": "Swift.String.UnicodeScalarView",
+ "usr": "s:SS17UnicodeScalarViewV"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "SubSequence",
+ "printedName": "SubSequence",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Substring",
+ "printedName": "Swift.Substring",
+ "usr": "s:Ss"
+ }
+ ]
+ }
+ ],
+ "usr": "s:Sy",
+ "mangledName": "$sSy"
+ },
+ {
+ "kind": "Conformance",
+ "name": "ExpressibleByStringInterpolation",
+ "printedName": "ExpressibleByStringInterpolation",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "StringInterpolation",
+ "printedName": "StringInterpolation",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "DefaultStringInterpolation",
+ "printedName": "Swift.DefaultStringInterpolation",
+ "usr": "s:s26DefaultStringInterpolationV"
+ }
+ ]
+ }
+ ],
+ "usr": "s:s32ExpressibleByStringInterpolationP",
+ "mangledName": "$ss32ExpressibleByStringInterpolationP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "LosslessStringConvertible",
+ "printedName": "LosslessStringConvertible",
+ "usr": "s:s25LosslessStringConvertibleP",
+ "mangledName": "$ss25LosslessStringConvertibleP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "RangeReplaceableCollection",
+ "printedName": "RangeReplaceableCollection",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "SubSequence",
+ "printedName": "SubSequence",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Substring",
+ "printedName": "Swift.Substring",
+ "usr": "s:Ss"
+ }
+ ]
+ }
+ ],
+ "usr": "s:Sm",
+ "mangledName": "$sSm"
+ },
+ {
+ "kind": "Conformance",
+ "name": "MirrorPath",
+ "printedName": "MirrorPath",
+ "usr": "s:s10MirrorPathP",
+ "mangledName": "$ss10MirrorPathP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_ObjectiveCBridgeable",
+ "printedName": "_ObjectiveCBridgeable",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "_ObjectiveCType",
+ "printedName": "_ObjectiveCType",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "NSString",
+ "printedName": "Foundation.NSString",
+ "usr": "c:objc(cs)NSString"
+ }
+ ]
+ }
+ ],
+ "usr": "s:s21_ObjectiveCBridgeableP",
+ "mangledName": "$ss21_ObjectiveCBridgeableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CVarArg",
+ "printedName": "CVarArg",
+ "usr": "s:s7CVarArgP",
+ "mangledName": "$ss7CVarArgP"
+ }
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "Double",
+ "printedName": "Double",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "upInt",
+ "printedName": "upInt",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:Sd12IOTBluetoothE5upIntSivp",
+ "mangledName": "$sSd12IOTBluetoothE5upIntSivp",
+ "moduleName": "IOTBluetooth",
+ "isFromExtension": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:Sd12IOTBluetoothE5upIntSivg",
+ "mangledName": "$sSd12IOTBluetoothE5upIntSivg",
+ "moduleName": "IOTBluetooth",
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ }
+ ],
+ "declKind": "Struct",
+ "usr": "s:Sd",
+ "mangledName": "$sSd",
+ "moduleName": "Swift",
+ "declAttributes": [
+ "Frozen"
+ ],
+ "isExternal": true,
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "BinaryFloatingPoint",
+ "printedName": "BinaryFloatingPoint",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "RawSignificand",
+ "printedName": "RawSignificand",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "UInt64",
+ "printedName": "Swift.UInt64",
+ "usr": "s:s6UInt64V"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "RawExponent",
+ "printedName": "RawExponent",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "UInt",
+ "printedName": "Swift.UInt",
+ "usr": "s:Su"
+ }
+ ]
+ }
+ ],
+ "usr": "s:SB",
+ "mangledName": "$sSB"
+ },
+ {
+ "kind": "Conformance",
+ "name": "ExpressibleByFloatLiteral",
+ "printedName": "ExpressibleByFloatLiteral",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "FloatLiteralType",
+ "printedName": "FloatLiteralType",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Double",
+ "printedName": "Swift.Double",
+ "usr": "s:Sd"
+ }
+ ]
+ }
+ ],
+ "usr": "s:s25ExpressibleByFloatLiteralP",
+ "mangledName": "$ss25ExpressibleByFloatLiteralP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "FloatingPoint",
+ "printedName": "FloatingPoint",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "Exponent",
+ "printedName": "Exponent",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ]
+ }
+ ],
+ "usr": "s:SF",
+ "mangledName": "$sSF"
+ },
+ {
+ "kind": "Conformance",
+ "name": "SignedNumeric",
+ "printedName": "SignedNumeric",
+ "usr": "s:s13SignedNumericP",
+ "mangledName": "$ss13SignedNumericP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Numeric",
+ "printedName": "Numeric",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "Magnitude",
+ "printedName": "Magnitude",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Double",
+ "printedName": "Swift.Double",
+ "usr": "s:Sd"
+ }
+ ]
+ }
+ ],
+ "usr": "s:Sj",
+ "mangledName": "$sSj"
+ },
+ {
+ "kind": "Conformance",
+ "name": "AdditiveArithmetic",
+ "printedName": "AdditiveArithmetic",
+ "usr": "s:s18AdditiveArithmeticP",
+ "mangledName": "$ss18AdditiveArithmeticP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Decodable",
+ "printedName": "Decodable",
+ "usr": "s:Se",
+ "mangledName": "$sSe"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Encodable",
+ "printedName": "Encodable",
+ "usr": "s:SE",
+ "mangledName": "$sSE"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CustomReflectable",
+ "printedName": "CustomReflectable",
+ "usr": "s:s17CustomReflectableP",
+ "mangledName": "$ss17CustomReflectableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_CustomPlaygroundQuickLookable",
+ "printedName": "_CustomPlaygroundQuickLookable",
+ "usr": "s:s30_CustomPlaygroundQuickLookableP",
+ "mangledName": "$ss30_CustomPlaygroundQuickLookableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_CVarArgPassedAsDouble",
+ "printedName": "_CVarArgPassedAsDouble",
+ "usr": "s:s22_CVarArgPassedAsDoubleP",
+ "mangledName": "$ss22_CVarArgPassedAsDoubleP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_CVarArgAligned",
+ "printedName": "_CVarArgAligned",
+ "usr": "s:s15_CVarArgAlignedP",
+ "mangledName": "$ss15_CVarArgAlignedP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CVarArg",
+ "printedName": "CVarArg",
+ "usr": "s:s7CVarArgP",
+ "mangledName": "$ss7CVarArgP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "LosslessStringConvertible",
+ "printedName": "LosslessStringConvertible",
+ "usr": "s:s25LosslessStringConvertibleP",
+ "mangledName": "$ss25LosslessStringConvertibleP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CustomStringConvertible",
+ "printedName": "CustomStringConvertible",
+ "usr": "s:s23CustomStringConvertibleP",
+ "mangledName": "$ss23CustomStringConvertibleP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CustomDebugStringConvertible",
+ "printedName": "CustomDebugStringConvertible",
+ "usr": "s:s28CustomDebugStringConvertibleP",
+ "mangledName": "$ss28CustomDebugStringConvertibleP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "TextOutputStreamable",
+ "printedName": "TextOutputStreamable",
+ "usr": "s:s20TextOutputStreamableP",
+ "mangledName": "$ss20TextOutputStreamableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_ExpressibleByBuiltinIntegerLiteral",
+ "printedName": "_ExpressibleByBuiltinIntegerLiteral",
+ "usr": "s:s35_ExpressibleByBuiltinIntegerLiteralP",
+ "mangledName": "$ss35_ExpressibleByBuiltinIntegerLiteralP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "ExpressibleByIntegerLiteral",
+ "printedName": "ExpressibleByIntegerLiteral",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "IntegerLiteralType",
+ "printedName": "IntegerLiteralType",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int64",
+ "printedName": "Swift.Int64",
+ "usr": "s:s5Int64V"
+ }
+ ]
+ }
+ ],
+ "usr": "s:s27ExpressibleByIntegerLiteralP",
+ "mangledName": "$ss27ExpressibleByIntegerLiteralP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_ExpressibleByBuiltinFloatLiteral",
+ "printedName": "_ExpressibleByBuiltinFloatLiteral",
+ "usr": "s:s33_ExpressibleByBuiltinFloatLiteralP",
+ "mangledName": "$ss33_ExpressibleByBuiltinFloatLiteralP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Hashable",
+ "printedName": "Hashable",
+ "usr": "s:SH",
+ "mangledName": "$sSH"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Equatable",
+ "printedName": "Equatable",
+ "usr": "s:SQ",
+ "mangledName": "$sSQ"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_HasCustomAnyHashableRepresentation",
+ "printedName": "_HasCustomAnyHashableRepresentation",
+ "usr": "s:s35_HasCustomAnyHashableRepresentationP",
+ "mangledName": "$ss35_HasCustomAnyHashableRepresentationP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Sendable",
+ "printedName": "Sendable",
+ "usr": "s:s8SendableP",
+ "mangledName": "$ss8SendableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Strideable",
+ "printedName": "Strideable",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "Stride",
+ "printedName": "Stride",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Double",
+ "printedName": "Swift.Double",
+ "usr": "s:Sd"
+ }
+ ]
+ }
+ ],
+ "usr": "s:Sx",
+ "mangledName": "$sSx"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Comparable",
+ "printedName": "Comparable",
+ "usr": "s:SL",
+ "mangledName": "$sSL"
+ },
+ {
+ "kind": "Conformance",
+ "name": "SIMDScalar",
+ "printedName": "SIMDScalar",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "SIMDMaskScalar",
+ "printedName": "SIMDMaskScalar",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int64",
+ "printedName": "Swift.Int64",
+ "usr": "s:s5Int64V"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "SIMD2Storage",
+ "printedName": "SIMD2Storage",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "SIMD2Storage",
+ "printedName": "Swift.Double.SIMD2Storage",
+ "usr": "s:Sd12SIMD2StorageV"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "SIMD4Storage",
+ "printedName": "SIMD4Storage",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "SIMD4Storage",
+ "printedName": "Swift.Double.SIMD4Storage",
+ "usr": "s:Sd12SIMD4StorageV"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "SIMD8Storage",
+ "printedName": "SIMD8Storage",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "SIMD8Storage",
+ "printedName": "Swift.Double.SIMD8Storage",
+ "usr": "s:Sd12SIMD8StorageV"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "SIMD16Storage",
+ "printedName": "SIMD16Storage",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "SIMD16Storage",
+ "printedName": "Swift.Double.SIMD16Storage",
+ "usr": "s:Sd13SIMD16StorageV"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "SIMD32Storage",
+ "printedName": "SIMD32Storage",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "SIMD32Storage",
+ "printedName": "Swift.Double.SIMD32Storage",
+ "usr": "s:Sd13SIMD32StorageV"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "SIMD64Storage",
+ "printedName": "SIMD64Storage",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "SIMD64Storage",
+ "printedName": "Swift.Double.SIMD64Storage",
+ "usr": "s:Sd13SIMD64StorageV"
+ }
+ ]
+ }
+ ],
+ "usr": "s:s10SIMDScalarP",
+ "mangledName": "$ss10SIMDScalarP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_FormatSpecifiable",
+ "printedName": "_FormatSpecifiable",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "_Arg",
+ "printedName": "_Arg",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Double",
+ "printedName": "Swift.Double",
+ "usr": "s:Sd"
+ }
+ ]
+ }
+ ],
+ "usr": "s:10Foundation18_FormatSpecifiableP",
+ "mangledName": "$s10Foundation18_FormatSpecifiableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_ObjectiveCBridgeable",
+ "printedName": "_ObjectiveCBridgeable",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "_ObjectiveCType",
+ "printedName": "_ObjectiveCType",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "NSNumber",
+ "printedName": "Foundation.NSNumber",
+ "usr": "c:objc(cs)NSNumber"
+ }
+ ]
+ }
+ ],
+ "usr": "s:s21_ObjectiveCBridgeableP",
+ "mangledName": "$ss21_ObjectiveCBridgeableP"
+ }
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "Int",
+ "printedName": "Int",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "bytes",
+ "printedName": "bytes",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[Swift.UInt8]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "UInt8",
+ "printedName": "Swift.UInt8",
+ "usr": "s:s5UInt8V"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:Si12IOTBluetoothE5bytesSays5UInt8VGvp",
+ "mangledName": "$sSi12IOTBluetoothE5bytesSays5UInt8VGvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[Swift.UInt8]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "UInt8",
+ "printedName": "Swift.UInt8",
+ "usr": "s:s5UInt8V"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:Si12IOTBluetoothE5bytesSays5UInt8VGvg",
+ "mangledName": "$sSi12IOTBluetoothE5bytesSays5UInt8VGvg",
+ "moduleName": "IOTBluetooth",
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "byte",
+ "printedName": "byte",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "UInt8",
+ "printedName": "Swift.UInt8",
+ "usr": "s:s5UInt8V"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:Si12IOTBluetoothE4bytes5UInt8Vvp",
+ "mangledName": "$sSi12IOTBluetoothE4bytes5UInt8Vvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "UInt8",
+ "printedName": "Swift.UInt8",
+ "usr": "s:s5UInt8V"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:Si12IOTBluetoothE4bytes5UInt8Vvg",
+ "mangledName": "$sSi12IOTBluetoothE4bytes5UInt8Vvg",
+ "moduleName": "IOTBluetooth",
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "byte2",
+ "printedName": "byte2",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[Swift.UInt8]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "UInt8",
+ "printedName": "Swift.UInt8",
+ "usr": "s:s5UInt8V"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:Si12IOTBluetoothE5byte2Says5UInt8VGvp",
+ "mangledName": "$sSi12IOTBluetoothE5byte2Says5UInt8VGvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[Swift.UInt8]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "UInt8",
+ "printedName": "Swift.UInt8",
+ "usr": "s:s5UInt8V"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:Si12IOTBluetoothE5byte2Says5UInt8VGvg",
+ "mangledName": "$sSi12IOTBluetoothE5byte2Says5UInt8VGvg",
+ "moduleName": "IOTBluetooth",
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "byte3",
+ "printedName": "byte3",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[Swift.UInt8]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "UInt8",
+ "printedName": "Swift.UInt8",
+ "usr": "s:s5UInt8V"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:Si12IOTBluetoothE5byte3Says5UInt8VGvp",
+ "mangledName": "$sSi12IOTBluetoothE5byte3Says5UInt8VGvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[Swift.UInt8]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "UInt8",
+ "printedName": "Swift.UInt8",
+ "usr": "s:s5UInt8V"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:Si12IOTBluetoothE5byte3Says5UInt8VGvg",
+ "mangledName": "$sSi12IOTBluetoothE5byte3Says5UInt8VGvg",
+ "moduleName": "IOTBluetooth",
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "byte4",
+ "printedName": "byte4",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[Swift.UInt8]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "UInt8",
+ "printedName": "Swift.UInt8",
+ "usr": "s:s5UInt8V"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:Si12IOTBluetoothE5byte4Says5UInt8VGvp",
+ "mangledName": "$sSi12IOTBluetoothE5byte4Says5UInt8VGvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[Swift.UInt8]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "UInt8",
+ "printedName": "Swift.UInt8",
+ "usr": "s:s5UInt8V"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:Si12IOTBluetoothE5byte4Says5UInt8VGvg",
+ "mangledName": "$sSi12IOTBluetoothE5byte4Says5UInt8VGvg",
+ "moduleName": "IOTBluetooth",
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ }
+ ],
+ "declKind": "Struct",
+ "usr": "s:Si",
+ "mangledName": "$sSi",
+ "moduleName": "Swift",
+ "declAttributes": [
+ "Frozen"
+ ],
+ "isExternal": true,
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "FixedWidthInteger",
+ "printedName": "FixedWidthInteger",
+ "usr": "s:s17FixedWidthIntegerP",
+ "mangledName": "$ss17FixedWidthIntegerP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "SignedInteger",
+ "printedName": "SignedInteger",
+ "usr": "s:SZ",
+ "mangledName": "$sSZ"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_ExpressibleByBuiltinIntegerLiteral",
+ "printedName": "_ExpressibleByBuiltinIntegerLiteral",
+ "usr": "s:s35_ExpressibleByBuiltinIntegerLiteralP",
+ "mangledName": "$ss35_ExpressibleByBuiltinIntegerLiteralP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "BinaryInteger",
+ "printedName": "BinaryInteger",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "Words",
+ "printedName": "Words",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Words",
+ "printedName": "Swift.Int.Words",
+ "usr": "s:Si5WordsV"
+ }
+ ]
+ }
+ ],
+ "usr": "s:Sz",
+ "mangledName": "$sSz"
+ },
+ {
+ "kind": "Conformance",
+ "name": "LosslessStringConvertible",
+ "printedName": "LosslessStringConvertible",
+ "usr": "s:s25LosslessStringConvertibleP",
+ "mangledName": "$ss25LosslessStringConvertibleP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "SignedNumeric",
+ "printedName": "SignedNumeric",
+ "usr": "s:s13SignedNumericP",
+ "mangledName": "$ss13SignedNumericP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CustomStringConvertible",
+ "printedName": "CustomStringConvertible",
+ "usr": "s:s23CustomStringConvertibleP",
+ "mangledName": "$ss23CustomStringConvertibleP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Numeric",
+ "printedName": "Numeric",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "Magnitude",
+ "printedName": "Magnitude",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "UInt",
+ "printedName": "Swift.UInt",
+ "usr": "s:Su"
+ }
+ ]
+ }
+ ],
+ "usr": "s:Sj",
+ "mangledName": "$sSj"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Strideable",
+ "printedName": "Strideable",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "Stride",
+ "printedName": "Stride",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ]
+ }
+ ],
+ "usr": "s:Sx",
+ "mangledName": "$sSx"
+ },
+ {
+ "kind": "Conformance",
+ "name": "AdditiveArithmetic",
+ "printedName": "AdditiveArithmetic",
+ "usr": "s:s18AdditiveArithmeticP",
+ "mangledName": "$ss18AdditiveArithmeticP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "ExpressibleByIntegerLiteral",
+ "printedName": "ExpressibleByIntegerLiteral",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "IntegerLiteralType",
+ "printedName": "IntegerLiteralType",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ]
+ }
+ ],
+ "usr": "s:s27ExpressibleByIntegerLiteralP",
+ "mangledName": "$ss27ExpressibleByIntegerLiteralP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Comparable",
+ "printedName": "Comparable",
+ "usr": "s:SL",
+ "mangledName": "$sSL"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Decodable",
+ "printedName": "Decodable",
+ "usr": "s:Se",
+ "mangledName": "$sSe"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Encodable",
+ "printedName": "Encodable",
+ "usr": "s:SE",
+ "mangledName": "$sSE"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CodingKeyRepresentable",
+ "printedName": "CodingKeyRepresentable",
+ "usr": "s:s22CodingKeyRepresentableP",
+ "mangledName": "$ss22CodingKeyRepresentableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CustomReflectable",
+ "printedName": "CustomReflectable",
+ "usr": "s:s17CustomReflectableP",
+ "mangledName": "$ss17CustomReflectableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_CustomPlaygroundQuickLookable",
+ "printedName": "_CustomPlaygroundQuickLookable",
+ "usr": "s:s30_CustomPlaygroundQuickLookableP",
+ "mangledName": "$ss30_CustomPlaygroundQuickLookableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "MirrorPath",
+ "printedName": "MirrorPath",
+ "usr": "s:s10MirrorPathP",
+ "mangledName": "$ss10MirrorPathP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CVarArg",
+ "printedName": "CVarArg",
+ "usr": "s:s7CVarArgP",
+ "mangledName": "$ss7CVarArgP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Hashable",
+ "printedName": "Hashable",
+ "usr": "s:SH",
+ "mangledName": "$sSH"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Equatable",
+ "printedName": "Equatable",
+ "usr": "s:SQ",
+ "mangledName": "$sSQ"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_HasCustomAnyHashableRepresentation",
+ "printedName": "_HasCustomAnyHashableRepresentation",
+ "usr": "s:s35_HasCustomAnyHashableRepresentationP",
+ "mangledName": "$ss35_HasCustomAnyHashableRepresentationP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Sendable",
+ "printedName": "Sendable",
+ "usr": "s:s8SendableP",
+ "mangledName": "$ss8SendableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "SIMDScalar",
+ "printedName": "SIMDScalar",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "SIMDMaskScalar",
+ "printedName": "SIMDMaskScalar",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "SIMD2Storage",
+ "printedName": "SIMD2Storage",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "SIMD2Storage",
+ "printedName": "Swift.Int.SIMD2Storage",
+ "usr": "s:Si12SIMD2StorageV"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "SIMD4Storage",
+ "printedName": "SIMD4Storage",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "SIMD4Storage",
+ "printedName": "Swift.Int.SIMD4Storage",
+ "usr": "s:Si12SIMD4StorageV"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "SIMD8Storage",
+ "printedName": "SIMD8Storage",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "SIMD8Storage",
+ "printedName": "Swift.Int.SIMD8Storage",
+ "usr": "s:Si12SIMD8StorageV"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "SIMD16Storage",
+ "printedName": "SIMD16Storage",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "SIMD16Storage",
+ "printedName": "Swift.Int.SIMD16Storage",
+ "usr": "s:Si13SIMD16StorageV"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "SIMD32Storage",
+ "printedName": "SIMD32Storage",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "SIMD32Storage",
+ "printedName": "Swift.Int.SIMD32Storage",
+ "usr": "s:Si13SIMD32StorageV"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "SIMD64Storage",
+ "printedName": "SIMD64Storage",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "SIMD64Storage",
+ "printedName": "Swift.Int.SIMD64Storage",
+ "usr": "s:Si13SIMD64StorageV"
+ }
+ ]
+ }
+ ],
+ "usr": "s:s10SIMDScalarP",
+ "mangledName": "$ss10SIMDScalarP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_FormatSpecifiable",
+ "printedName": "_FormatSpecifiable",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "_Arg",
+ "printedName": "_Arg",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int64",
+ "printedName": "Swift.Int64",
+ "usr": "s:s5Int64V"
+ }
+ ]
+ }
+ ],
+ "usr": "s:10Foundation18_FormatSpecifiableP",
+ "mangledName": "$s10Foundation18_FormatSpecifiableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_ObjectiveCBridgeable",
+ "printedName": "_ObjectiveCBridgeable",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "_ObjectiveCType",
+ "printedName": "_ObjectiveCType",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "NSNumber",
+ "printedName": "Foundation.NSNumber",
+ "usr": "c:objc(cs)NSNumber"
+ }
+ ]
+ }
+ ],
+ "usr": "s:s21_ObjectiveCBridgeableP",
+ "mangledName": "$ss21_ObjectiveCBridgeableP"
+ }
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "BinaryInteger",
+ "printedName": "BinaryInteger",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "binaryString",
+ "printedName": "binaryString",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:Sz12IOTBluetoothE12binaryStringSSvp",
+ "mangledName": "$sSz12IOTBluetoothE12binaryStringSSvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "RawDocComment"
+ ],
+ "isFromExtension": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:Sz12IOTBluetoothE12binaryStringSSvg",
+ "mangledName": "$sSz12IOTBluetoothE12binaryStringSSvg",
+ "moduleName": "IOTBluetooth",
+ "genericSig": "<τ_0_0 where τ_0_0 : Swift.BinaryInteger>",
+ "sugared_genericSig": "<Self where Self : Swift.BinaryInteger>",
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ }
+ ],
+ "declKind": "Protocol",
+ "usr": "s:Sz",
+ "mangledName": "$sSz",
+ "moduleName": "Swift",
+ "genericSig": "<τ_0_0 : Swift.CustomStringConvertible, τ_0_0 : Swift.Hashable, τ_0_0 : Swift.Numeric, τ_0_0 : Swift.Strideable, τ_0_0.Magnitude : Swift.BinaryInteger, τ_0_0.Magnitude == τ_0_0.Magnitude.Magnitude, τ_0_0.Words : Swift.RandomAccessCollection, τ_0_0.Words.Element == Swift.UInt, τ_0_0.Words.Index == Swift.Int>",
+ "sugared_genericSig": "<Self : Swift.CustomStringConvertible, Self : Swift.Hashable, Self : Swift.Numeric, Self : Swift.Strideable, Self.Magnitude : Swift.BinaryInteger, Self.Magnitude == Self.Magnitude.Magnitude, Self.Words : Swift.RandomAccessCollection, Self.Words.Element == Swift.UInt, Self.Words.Index == Swift.Int>",
+ "isExternal": true,
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Strideable",
+ "printedName": "Strideable",
+ "usr": "s:Sx",
+ "mangledName": "$sSx"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Comparable",
+ "printedName": "Comparable",
+ "usr": "s:SL",
+ "mangledName": "$sSL"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Equatable",
+ "printedName": "Equatable",
+ "usr": "s:SQ",
+ "mangledName": "$sSQ"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Numeric",
+ "printedName": "Numeric",
+ "usr": "s:Sj",
+ "mangledName": "$sSj"
+ },
+ {
+ "kind": "Conformance",
+ "name": "ExpressibleByIntegerLiteral",
+ "printedName": "ExpressibleByIntegerLiteral",
+ "usr": "s:s27ExpressibleByIntegerLiteralP",
+ "mangledName": "$ss27ExpressibleByIntegerLiteralP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "AdditiveArithmetic",
+ "printedName": "AdditiveArithmetic",
+ "usr": "s:s18AdditiveArithmeticP",
+ "mangledName": "$ss18AdditiveArithmeticP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Hashable",
+ "printedName": "Hashable",
+ "usr": "s:SH",
+ "mangledName": "$sSH"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CustomStringConvertible",
+ "printedName": "CustomStringConvertible",
+ "usr": "s:s23CustomStringConvertibleP",
+ "mangledName": "$ss23CustomStringConvertibleP"
+ }
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "Data",
+ "printedName": "Data",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "bytes",
+ "printedName": "bytes",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[Swift.UInt8]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "UInt8",
+ "printedName": "Swift.UInt8",
+ "usr": "s:s5UInt8V"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:10Foundation4DataV12IOTBluetoothE5bytesSays5UInt8VGvp",
+ "mangledName": "$s10Foundation4DataV12IOTBluetoothE5bytesSays5UInt8VGvp",
+ "moduleName": "IOTBluetooth",
+ "isFromExtension": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[Swift.UInt8]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "UInt8",
+ "printedName": "Swift.UInt8",
+ "usr": "s:s5UInt8V"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:10Foundation4DataV12IOTBluetoothE5bytesSays5UInt8VGvg",
+ "mangledName": "$s10Foundation4DataV12IOTBluetoothE5bytesSays5UInt8VGvg",
+ "moduleName": "IOTBluetooth",
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Function",
+ "name": "joined",
+ "printedName": "joined(format:_:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "hasDefaultArg": true,
+ "usr": "s:SS"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "hasDefaultArg": true,
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:10Foundation4DataV12IOTBluetoothE6joined6format_S2S_SStF",
+ "mangledName": "$s10Foundation4DataV12IOTBluetoothE6joined6format_S2S_SStF",
+ "moduleName": "IOTBluetooth",
+ "isFromExtension": true,
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Function",
+ "name": "reversedJoined",
+ "printedName": "reversedJoined(format:_:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "hasDefaultArg": true,
+ "usr": "s:SS"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "hasDefaultArg": true,
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:10Foundation4DataV12IOTBluetoothE14reversedJoined6format_S2S_SStF",
+ "mangledName": "$s10Foundation4DataV12IOTBluetoothE14reversedJoined6format_S2S_SStF",
+ "moduleName": "IOTBluetooth",
+ "isFromExtension": true,
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Var",
+ "name": "int",
+ "printedName": "int",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:10Foundation4DataV12IOTBluetoothE3intSivp",
+ "mangledName": "$s10Foundation4DataV12IOTBluetoothE3intSivp",
+ "moduleName": "IOTBluetooth",
+ "isFromExtension": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:10Foundation4DataV12IOTBluetoothE3intSivg",
+ "mangledName": "$s10Foundation4DataV12IOTBluetoothE3intSivg",
+ "moduleName": "IOTBluetooth",
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "lrc",
+ "printedName": "lrc",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "UInt8",
+ "printedName": "Swift.UInt8",
+ "usr": "s:s5UInt8V"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:10Foundation4DataV12IOTBluetoothE3lrcs5UInt8Vvp",
+ "mangledName": "$s10Foundation4DataV12IOTBluetoothE3lrcs5UInt8Vvp",
+ "moduleName": "IOTBluetooth",
+ "isFromExtension": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "UInt8",
+ "printedName": "Swift.UInt8",
+ "usr": "s:s5UInt8V"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:10Foundation4DataV12IOTBluetoothE3lrcs5UInt8Vvg",
+ "mangledName": "$s10Foundation4DataV12IOTBluetoothE3lrcs5UInt8Vvg",
+ "moduleName": "IOTBluetooth",
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "string",
+ "printedName": "string",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:10Foundation4DataV12IOTBluetoothE6stringSSSgvp",
+ "mangledName": "$s10Foundation4DataV12IOTBluetoothE6stringSSSgvp",
+ "moduleName": "IOTBluetooth",
+ "isFromExtension": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:10Foundation4DataV12IOTBluetoothE6stringSSSgvg",
+ "mangledName": "$s10Foundation4DataV12IOTBluetoothE6stringSSSgvg",
+ "moduleName": "IOTBluetooth",
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ }
+ ],
+ "declKind": "Struct",
+ "usr": "s:10Foundation4DataV",
+ "mangledName": "$s10Foundation4DataV",
+ "moduleName": "Foundation",
+ "intro_Macosx": "10.10",
+ "intro_iOS": "8.0",
+ "intro_tvOS": "9.0",
+ "intro_watchOS": "2.0",
+ "declAttributes": [
+ "Frozen",
+ "Available",
+ "Available",
+ "Available",
+ "Available"
+ ],
+ "isExternal": true,
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Equatable",
+ "printedName": "Equatable",
+ "usr": "s:SQ",
+ "mangledName": "$sSQ"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Hashable",
+ "printedName": "Hashable",
+ "usr": "s:SH",
+ "mangledName": "$sSH"
+ },
+ {
+ "kind": "Conformance",
+ "name": "RandomAccessCollection",
+ "printedName": "RandomAccessCollection",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "Element",
+ "printedName": "Element",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "UInt8",
+ "printedName": "Swift.UInt8",
+ "usr": "s:s5UInt8V"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "Index",
+ "printedName": "Index",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "SubSequence",
+ "printedName": "SubSequence",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Data",
+ "printedName": "Foundation.Data",
+ "usr": "s:10Foundation4DataV"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "Indices",
+ "printedName": "Indices",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Range",
+ "printedName": "Swift.Range<Swift.Int>",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sn"
+ }
+ ]
+ }
+ ],
+ "usr": "s:Sk",
+ "mangledName": "$sSk"
+ },
+ {
+ "kind": "Conformance",
+ "name": "MutableCollection",
+ "printedName": "MutableCollection",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "Element",
+ "printedName": "Element",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "UInt8",
+ "printedName": "Swift.UInt8",
+ "usr": "s:s5UInt8V"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "Index",
+ "printedName": "Index",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "SubSequence",
+ "printedName": "SubSequence",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Data",
+ "printedName": "Foundation.Data",
+ "usr": "s:10Foundation4DataV"
+ }
+ ]
+ }
+ ],
+ "usr": "s:SM",
+ "mangledName": "$sSM"
+ },
+ {
+ "kind": "Conformance",
+ "name": "RangeReplaceableCollection",
+ "printedName": "RangeReplaceableCollection",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "SubSequence",
+ "printedName": "SubSequence",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Data",
+ "printedName": "Foundation.Data",
+ "usr": "s:10Foundation4DataV"
+ }
+ ]
+ }
+ ],
+ "usr": "s:Sm",
+ "mangledName": "$sSm"
+ },
+ {
+ "kind": "Conformance",
+ "name": "MutableDataProtocol",
+ "printedName": "MutableDataProtocol",
+ "usr": "s:10Foundation19MutableDataProtocolP",
+ "mangledName": "$s10Foundation19MutableDataProtocolP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "ContiguousBytes",
+ "printedName": "ContiguousBytes",
+ "usr": "s:10Foundation15ContiguousBytesP",
+ "mangledName": "$s10Foundation15ContiguousBytesP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Sendable",
+ "printedName": "Sendable",
+ "usr": "s:s8SendableP",
+ "mangledName": "$ss8SendableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "BidirectionalCollection",
+ "printedName": "BidirectionalCollection",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "Element",
+ "printedName": "Element",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "UInt8",
+ "printedName": "Swift.UInt8",
+ "usr": "s:s5UInt8V"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "Index",
+ "printedName": "Index",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "SubSequence",
+ "printedName": "SubSequence",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Data",
+ "printedName": "Foundation.Data",
+ "usr": "s:10Foundation4DataV"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "Indices",
+ "printedName": "Indices",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Range",
+ "printedName": "Swift.Range<Swift.Int>",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sn"
+ }
+ ]
+ }
+ ],
+ "usr": "s:SK",
+ "mangledName": "$sSK"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Collection",
+ "printedName": "Collection",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "Element",
+ "printedName": "Element",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "UInt8",
+ "printedName": "Swift.UInt8",
+ "usr": "s:s5UInt8V"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "Index",
+ "printedName": "Index",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "Iterator",
+ "printedName": "Iterator",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Iterator",
+ "printedName": "Foundation.Data.Iterator",
+ "usr": "s:10Foundation4DataV8IteratorV"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "SubSequence",
+ "printedName": "SubSequence",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Data",
+ "printedName": "Foundation.Data",
+ "usr": "s:10Foundation4DataV"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "Indices",
+ "printedName": "Indices",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Range",
+ "printedName": "Swift.Range<Swift.Int>",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "usr": "s:Sn"
+ }
+ ]
+ }
+ ],
+ "usr": "s:Sl",
+ "mangledName": "$sSl"
+ },
+ {
+ "kind": "Conformance",
+ "name": "DataProtocol",
+ "printedName": "DataProtocol",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "Regions",
+ "printedName": "Regions",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "CollectionOfOne",
+ "printedName": "Swift.CollectionOfOne<Foundation.Data>",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Data",
+ "printedName": "Foundation.Data",
+ "usr": "s:10Foundation4DataV"
+ }
+ ],
+ "usr": "s:s15CollectionOfOneV"
+ }
+ ]
+ }
+ ],
+ "usr": "s:10Foundation12DataProtocolP",
+ "mangledName": "$s10Foundation12DataProtocolP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Sequence",
+ "printedName": "Sequence",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "Element",
+ "printedName": "Element",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "UInt8",
+ "printedName": "Swift.UInt8",
+ "usr": "s:s5UInt8V"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "Iterator",
+ "printedName": "Iterator",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Iterator",
+ "printedName": "Foundation.Data.Iterator",
+ "usr": "s:10Foundation4DataV8IteratorV"
+ }
+ ]
+ }
+ ],
+ "usr": "s:ST",
+ "mangledName": "$sST"
+ },
+ {
+ "kind": "Conformance",
+ "name": "ReferenceConvertible",
+ "printedName": "ReferenceConvertible",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "ReferenceType",
+ "printedName": "ReferenceType",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "NSData",
+ "printedName": "Foundation.NSData",
+ "usr": "c:objc(cs)NSData"
+ }
+ ]
+ }
+ ],
+ "usr": "s:10Foundation20ReferenceConvertibleP",
+ "mangledName": "$s10Foundation20ReferenceConvertibleP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_ObjectiveCBridgeable",
+ "printedName": "_ObjectiveCBridgeable",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "_ObjectiveCType",
+ "printedName": "_ObjectiveCType",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "NSData",
+ "printedName": "Foundation.NSData",
+ "usr": "c:objc(cs)NSData"
+ }
+ ]
+ }
+ ],
+ "usr": "s:s21_ObjectiveCBridgeableP",
+ "mangledName": "$ss21_ObjectiveCBridgeableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CustomStringConvertible",
+ "printedName": "CustomStringConvertible",
+ "usr": "s:s23CustomStringConvertibleP",
+ "mangledName": "$ss23CustomStringConvertibleP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CustomDebugStringConvertible",
+ "printedName": "CustomDebugStringConvertible",
+ "usr": "s:s28CustomDebugStringConvertibleP",
+ "mangledName": "$ss28CustomDebugStringConvertibleP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CustomReflectable",
+ "printedName": "CustomReflectable",
+ "usr": "s:s17CustomReflectableP",
+ "mangledName": "$ss17CustomReflectableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Decodable",
+ "printedName": "Decodable",
+ "usr": "s:Se",
+ "mangledName": "$sSe"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Encodable",
+ "printedName": "Encodable",
+ "usr": "s:SE",
+ "mangledName": "$sSE"
+ }
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "UInt8",
+ "printedName": "UInt8",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "int",
+ "printedName": "int",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:s5UInt8V12IOTBluetoothE3intSivp",
+ "mangledName": "$ss5UInt8V12IOTBluetoothE3intSivp",
+ "moduleName": "IOTBluetooth",
+ "isFromExtension": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:s5UInt8V12IOTBluetoothE3intSivg",
+ "mangledName": "$ss5UInt8V12IOTBluetoothE3intSivg",
+ "moduleName": "IOTBluetooth",
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ }
+ ],
+ "declKind": "Struct",
+ "usr": "s:s5UInt8V",
+ "mangledName": "$ss5UInt8V",
+ "moduleName": "Swift",
+ "declAttributes": [
+ "Frozen"
+ ],
+ "isExternal": true,
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "FixedWidthInteger",
+ "printedName": "FixedWidthInteger",
+ "usr": "s:s17FixedWidthIntegerP",
+ "mangledName": "$ss17FixedWidthIntegerP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "UnsignedInteger",
+ "printedName": "UnsignedInteger",
+ "usr": "s:SU",
+ "mangledName": "$sSU"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_ExpressibleByBuiltinIntegerLiteral",
+ "printedName": "_ExpressibleByBuiltinIntegerLiteral",
+ "usr": "s:s35_ExpressibleByBuiltinIntegerLiteralP",
+ "mangledName": "$ss35_ExpressibleByBuiltinIntegerLiteralP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "BinaryInteger",
+ "printedName": "BinaryInteger",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "Words",
+ "printedName": "Words",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Words",
+ "printedName": "Swift.UInt8.Words",
+ "usr": "s:s5UInt8V5WordsV"
+ }
+ ]
+ }
+ ],
+ "usr": "s:Sz",
+ "mangledName": "$sSz"
+ },
+ {
+ "kind": "Conformance",
+ "name": "LosslessStringConvertible",
+ "printedName": "LosslessStringConvertible",
+ "usr": "s:s25LosslessStringConvertibleP",
+ "mangledName": "$ss25LosslessStringConvertibleP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CustomStringConvertible",
+ "printedName": "CustomStringConvertible",
+ "usr": "s:s23CustomStringConvertibleP",
+ "mangledName": "$ss23CustomStringConvertibleP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Numeric",
+ "printedName": "Numeric",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "Magnitude",
+ "printedName": "Magnitude",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "UInt8",
+ "printedName": "Swift.UInt8",
+ "usr": "s:s5UInt8V"
+ }
+ ]
+ }
+ ],
+ "usr": "s:Sj",
+ "mangledName": "$sSj"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Strideable",
+ "printedName": "Strideable",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "Stride",
+ "printedName": "Stride",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int",
+ "printedName": "Swift.Int",
+ "usr": "s:Si"
+ }
+ ]
+ }
+ ],
+ "usr": "s:Sx",
+ "mangledName": "$sSx"
+ },
+ {
+ "kind": "Conformance",
+ "name": "AdditiveArithmetic",
+ "printedName": "AdditiveArithmetic",
+ "usr": "s:s18AdditiveArithmeticP",
+ "mangledName": "$ss18AdditiveArithmeticP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "ExpressibleByIntegerLiteral",
+ "printedName": "ExpressibleByIntegerLiteral",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "IntegerLiteralType",
+ "printedName": "IntegerLiteralType",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "UInt8",
+ "printedName": "Swift.UInt8",
+ "usr": "s:s5UInt8V"
+ }
+ ]
+ }
+ ],
+ "usr": "s:s27ExpressibleByIntegerLiteralP",
+ "mangledName": "$ss27ExpressibleByIntegerLiteralP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Comparable",
+ "printedName": "Comparable",
+ "usr": "s:SL",
+ "mangledName": "$sSL"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Decodable",
+ "printedName": "Decodable",
+ "usr": "s:Se",
+ "mangledName": "$sSe"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Encodable",
+ "printedName": "Encodable",
+ "usr": "s:SE",
+ "mangledName": "$sSE"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CustomReflectable",
+ "printedName": "CustomReflectable",
+ "usr": "s:s17CustomReflectableP",
+ "mangledName": "$ss17CustomReflectableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_CustomPlaygroundQuickLookable",
+ "printedName": "_CustomPlaygroundQuickLookable",
+ "usr": "s:s30_CustomPlaygroundQuickLookableP",
+ "mangledName": "$ss30_CustomPlaygroundQuickLookableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_StringElement",
+ "printedName": "_StringElement",
+ "usr": "s:s14_StringElementP",
+ "mangledName": "$ss14_StringElementP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CVarArg",
+ "printedName": "CVarArg",
+ "usr": "s:s7CVarArgP",
+ "mangledName": "$ss7CVarArgP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Hashable",
+ "printedName": "Hashable",
+ "usr": "s:SH",
+ "mangledName": "$sSH"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Equatable",
+ "printedName": "Equatable",
+ "usr": "s:SQ",
+ "mangledName": "$sSQ"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_HasCustomAnyHashableRepresentation",
+ "printedName": "_HasCustomAnyHashableRepresentation",
+ "usr": "s:s35_HasCustomAnyHashableRepresentationP",
+ "mangledName": "$ss35_HasCustomAnyHashableRepresentationP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Sendable",
+ "printedName": "Sendable",
+ "usr": "s:s8SendableP",
+ "mangledName": "$ss8SendableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "SIMDScalar",
+ "printedName": "SIMDScalar",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "SIMDMaskScalar",
+ "printedName": "SIMDMaskScalar",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Int8",
+ "printedName": "Swift.Int8",
+ "usr": "s:s4Int8V"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "SIMD2Storage",
+ "printedName": "SIMD2Storage",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "SIMD2Storage",
+ "printedName": "Swift.UInt8.SIMD2Storage",
+ "usr": "s:s5UInt8V12SIMD2StorageV"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "SIMD4Storage",
+ "printedName": "SIMD4Storage",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "SIMD4Storage",
+ "printedName": "Swift.UInt8.SIMD4Storage",
+ "usr": "s:s5UInt8V12SIMD4StorageV"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "SIMD8Storage",
+ "printedName": "SIMD8Storage",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "SIMD8Storage",
+ "printedName": "Swift.UInt8.SIMD8Storage",
+ "usr": "s:s5UInt8V12SIMD8StorageV"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "SIMD16Storage",
+ "printedName": "SIMD16Storage",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "SIMD16Storage",
+ "printedName": "Swift.UInt8.SIMD16Storage",
+ "usr": "s:s5UInt8V13SIMD16StorageV"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "SIMD32Storage",
+ "printedName": "SIMD32Storage",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "SIMD32Storage",
+ "printedName": "Swift.UInt8.SIMD32Storage",
+ "usr": "s:s5UInt8V13SIMD32StorageV"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "SIMD64Storage",
+ "printedName": "SIMD64Storage",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "SIMD64Storage",
+ "printedName": "Swift.UInt8.SIMD64Storage",
+ "usr": "s:s5UInt8V13SIMD64StorageV"
+ }
+ ]
+ }
+ ],
+ "usr": "s:s10SIMDScalarP",
+ "mangledName": "$ss10SIMDScalarP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_FormatSpecifiable",
+ "printedName": "_FormatSpecifiable",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "_Arg",
+ "printedName": "_Arg",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "UInt32",
+ "printedName": "Swift.UInt32",
+ "usr": "s:s6UInt32V"
+ }
+ ]
+ }
+ ],
+ "usr": "s:10Foundation18_FormatSpecifiableP",
+ "mangledName": "$s10Foundation18_FormatSpecifiableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_ObjectiveCBridgeable",
+ "printedName": "_ObjectiveCBridgeable",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "_ObjectiveCType",
+ "printedName": "_ObjectiveCType",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "NSNumber",
+ "printedName": "Foundation.NSNumber",
+ "usr": "c:objc(cs)NSNumber"
+ }
+ ]
+ }
+ ],
+ "usr": "s:s21_ObjectiveCBridgeableP",
+ "mangledName": "$ss21_ObjectiveCBridgeableP"
+ }
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "UUID",
+ "printedName": "UUID",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "uuid",
+ "printedName": "uuid",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "UUID",
+ "printedName": "Foundation.UUID",
+ "usr": "s:10Foundation4UUIDV"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:10Foundation4UUIDV12IOTBluetoothE4uuidACvp",
+ "mangledName": "$s10Foundation4UUIDV12IOTBluetoothE4uuidACvp",
+ "moduleName": "IOTBluetooth",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "isFromExtension": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "UUID",
+ "printedName": "Foundation.UUID",
+ "usr": "s:10Foundation4UUIDV"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:10Foundation4UUIDV12IOTBluetoothE4uuidACvg",
+ "mangledName": "$s10Foundation4UUIDV12IOTBluetoothE4uuidACvg",
+ "moduleName": "IOTBluetooth",
+ "isFromExtension": true,
+ "accessorKind": "get"
+ }
+ ]
+ }
+ ],
+ "declKind": "Struct",
+ "usr": "s:10Foundation4UUIDV",
+ "mangledName": "$s10Foundation4UUIDV",
+ "moduleName": "Foundation",
+ "intro_Macosx": "10.8",
+ "intro_iOS": "6.0",
+ "intro_tvOS": "9.0",
+ "intro_watchOS": "2.0",
+ "declAttributes": [
+ "Available",
+ "Available",
+ "Available",
+ "Available"
+ ],
+ "isExternal": true,
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Hashable",
+ "printedName": "Hashable",
+ "usr": "s:SH",
+ "mangledName": "$sSH"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Equatable",
+ "printedName": "Equatable",
+ "usr": "s:SQ",
+ "mangledName": "$sSQ"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CustomStringConvertible",
+ "printedName": "CustomStringConvertible",
+ "usr": "s:s23CustomStringConvertibleP",
+ "mangledName": "$ss23CustomStringConvertibleP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Sendable",
+ "printedName": "Sendable",
+ "usr": "s:s8SendableP",
+ "mangledName": "$ss8SendableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "IBPeripheralUUID",
+ "printedName": "IBPeripheralUUID",
+ "usr": "s:12IOTBluetooth16IBPeripheralUUIDP",
+ "mangledName": "$s12IOTBluetooth16IBPeripheralUUIDP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Comparable",
+ "printedName": "Comparable",
+ "usr": "s:SL",
+ "mangledName": "$sSL"
+ },
+ {
+ "kind": "Conformance",
+ "name": "ReferenceConvertible",
+ "printedName": "ReferenceConvertible",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "ReferenceType",
+ "printedName": "ReferenceType",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "NSUUID",
+ "printedName": "Foundation.NSUUID",
+ "usr": "c:objc(cs)NSUUID"
+ }
+ ]
+ }
+ ],
+ "usr": "s:10Foundation20ReferenceConvertibleP",
+ "mangledName": "$s10Foundation20ReferenceConvertibleP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CustomDebugStringConvertible",
+ "printedName": "CustomDebugStringConvertible",
+ "usr": "s:s28CustomDebugStringConvertibleP",
+ "mangledName": "$ss28CustomDebugStringConvertibleP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_ObjectiveCBridgeable",
+ "printedName": "_ObjectiveCBridgeable",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "_ObjectiveCType",
+ "printedName": "_ObjectiveCType",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "NSUUID",
+ "printedName": "Foundation.NSUUID",
+ "usr": "c:objc(cs)NSUUID"
+ }
+ ]
+ }
+ ],
+ "usr": "s:s21_ObjectiveCBridgeableP",
+ "mangledName": "$ss21_ObjectiveCBridgeableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CustomReflectable",
+ "printedName": "CustomReflectable",
+ "usr": "s:s17CustomReflectableP",
+ "mangledName": "$ss17CustomReflectableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Decodable",
+ "printedName": "Decodable",
+ "usr": "s:Se",
+ "mangledName": "$sSe"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Encodable",
+ "printedName": "Encodable",
+ "usr": "s:SE",
+ "mangledName": "$sSE"
+ }
+ ]
+ }
+ ],
+ "json_format_version": 8
+ },
+ "ConstValues": [
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBResponse.swift",
+ "kind": "IntegerLiteral",
+ "offset": 272,
+ "length": 2,
+ "value": "18"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBResponse.swift",
+ "kind": "IntegerLiteral",
+ "offset": 301,
+ "length": 2,
+ "value": "17"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBResponse.swift",
+ "kind": "IntegerLiteral",
+ "offset": 319,
+ "length": 1,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBResponse.swift",
+ "kind": "StringLiteral",
+ "offset": 551,
+ "length": 14,
+ "value": "\"操作成功\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBResponse.swift",
+ "kind": "BooleanLiteral",
+ "offset": 641,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBResponse.swift",
+ "kind": "Array",
+ "offset": 747,
+ "length": 2,
+ "value": "[]"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBResponse.swift",
+ "kind": "StringLiteral",
+ "offset": 966,
+ "length": 81,
+ "value": "\"IBResponse(code: \""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBResponse.swift",
+ "kind": "StringLiteral",
+ "offset": 1000,
+ "length": 1,
+ "value": "\",isSuccess: \""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBResponse.swift",
+ "kind": "StringLiteral",
+ "offset": 1024,
+ "length": 1,
+ "value": "\", massage:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBResponse.swift",
+ "kind": "StringLiteral",
+ "offset": 1044,
+ "length": 1,
+ "value": "\", \""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBResponse.swift",
+ "kind": "StringLiteral",
+ "offset": 1099,
+ "length": 16,
+ "value": "\"value:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBResponse.swift",
+ "kind": "StringLiteral",
+ "offset": 1111,
+ "length": 3,
+ "value": "\")\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBResponse.swift",
+ "kind": "StringLiteral",
+ "offset": 1164,
+ "length": 19,
+ "value": "\"items:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBResponse.swift",
+ "kind": "StringLiteral",
+ "offset": 1179,
+ "length": 3,
+ "value": "\")\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryStand.swift",
+ "kind": "Array",
+ "offset": 203,
+ "length": 2,
+ "value": "[]"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryStand.swift",
+ "kind": "Array",
+ "offset": 287,
+ "length": 2,
+ "value": "[]"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryStand.swift",
+ "kind": "IntegerLiteral",
+ "offset": 320,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryStand.swift",
+ "kind": "IntegerLiteral",
+ "offset": 343,
+ "length": 1,
+ "value": "4"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryStand.swift",
+ "kind": "IntegerLiteral",
+ "offset": 379,
+ "length": 1,
+ "value": "3"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryStand.swift",
+ "kind": "IntegerLiteral",
+ "offset": 472,
+ "length": 1,
+ "value": "3"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryStand.swift",
+ "kind": "IntegerLiteral",
+ "offset": 683,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBVibrateSound.swift",
+ "kind": "IntegerLiteral",
+ "offset": 277,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBVibrateSound.swift",
+ "kind": "StringLiteral",
+ "offset": 753,
+ "length": 142,
+ "value": "\"IBVibrateConfig(type: \""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBVibrateSound.swift",
+ "kind": "StringLiteral",
+ "offset": 783,
+ "length": 1,
+ "value": "\",systemValue: \""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBVibrateSound.swift",
+ "kind": "StringLiteral",
+ "offset": 811,
+ "length": 1,
+ "value": "\", ringsValue:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBVibrateSound.swift",
+ "kind": "StringLiteral",
+ "offset": 837,
+ "length": 1,
+ "value": "\", ringsState:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBVibrateSound.swift",
+ "kind": "StringLiteral",
+ "offset": 863,
+ "length": 1,
+ "value": "\", vibrateState:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBVibrateSound.swift",
+ "kind": "StringLiteral",
+ "offset": 893,
+ "length": 1,
+ "value": "\")\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBVibrateSound.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1024,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBVibrateSound.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1096,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBVibrateSound.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1168,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBVibrateSound.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1247,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBVibrateSound.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1355,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBVibrateSound.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1441,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBVibrateSound.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1474,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBVibrateSound.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1507,
+ "length": 1,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBVibrateSound.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1540,
+ "length": 1,
+ "value": "3"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBVibrateSound.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1575,
+ "length": 1,
+ "value": "4"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBVibrateSound.swift",
+ "kind": "StringLiteral",
+ "offset": 1639,
+ "length": 153,
+ "value": "\"IBVibrateSound(systemValue: \""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBVibrateSound.swift",
+ "kind": "StringLiteral",
+ "offset": 1682,
+ "length": 1,
+ "value": "\", ringsValue:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBVibrateSound.swift",
+ "kind": "StringLiteral",
+ "offset": 1708,
+ "length": 1,
+ "value": "\", mediaValue:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBVibrateSound.swift",
+ "kind": "StringLiteral",
+ "offset": 1734,
+ "length": 1,
+ "value": "\", ringsState:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBVibrateSound.swift",
+ "kind": "StringLiteral",
+ "offset": 1760,
+ "length": 1,
+ "value": "\", vibrateState:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBVibrateSound.swift",
+ "kind": "StringLiteral",
+ "offset": 1790,
+ "length": 1,
+ "value": "\")\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender+Dial.swift",
+ "kind": "StringLiteral",
+ "offset": 2195,
+ "length": 17,
+ "value": "\"已取消发送\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender+Dial.swift",
+ "kind": "StringLiteral",
+ "offset": 2775,
+ "length": 23,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender+Dial.swift",
+ "kind": "StringLiteral",
+ "offset": 2784,
+ "length": 1,
+ "value": "\" : \""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender+Dial.swift",
+ "kind": "StringLiteral",
+ "offset": 2797,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender+Dial.swift",
+ "kind": "StringLiteral",
+ "offset": 3007,
+ "length": 38,
+ "value": "\"发送文件超时,发送失败!\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender+Dial.swift",
+ "kind": "StringLiteral",
+ "offset": 3248,
+ "length": 29,
+ "value": "\"文件内容发送结束...\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender+Dial.swift",
+ "kind": "StringLiteral",
+ "offset": 3791,
+ "length": 29,
+ "value": "\"发送文件校验码失败\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender+Dial.swift",
+ "kind": "Array",
+ "offset": 4612,
+ "length": 2,
+ "value": "[]"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender+Dial.swift",
+ "kind": "StringLiteral",
+ "offset": 4992,
+ "length": 20,
+ "value": "\"读取文件失败\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAddressBook.swift",
+ "kind": "IntegerLiteral",
+ "offset": 237,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAddressBook.swift",
+ "kind": "Array",
+ "offset": 462,
+ "length": 2,
+ "value": "[]"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAddressBook.swift",
+ "kind": "StringLiteral",
+ "offset": 1203,
+ "length": 4,
+ "value": "\"[ \""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAddressBook.swift",
+ "kind": "StringLiteral",
+ "offset": 1316,
+ "length": 4,
+ "value": "\" ]\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAddressBook.swift",
+ "kind": "StringLiteral",
+ "offset": 1336,
+ "length": 80,
+ "value": "\"IBAddressBook(gender: \""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAddressBook.swift",
+ "kind": "StringLiteral",
+ "offset": 1368,
+ "length": 1,
+ "value": "\", name:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAddressBook.swift",
+ "kind": "StringLiteral",
+ "offset": 1385,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAddressBook.swift",
+ "kind": "StringLiteral",
+ "offset": 1388,
+ "length": 1,
+ "value": "\", phoneNumbers:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAddressBook.swift",
+ "kind": "StringLiteral",
+ "offset": 1414,
+ "length": 1,
+ "value": "\")\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAddressBook.swift",
+ "kind": "StringLiteral",
+ "offset": 1545,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAddressBook.swift",
+ "kind": "StringLiteral",
+ "offset": 1862,
+ "length": 94,
+ "value": "\"IBPhoneNumber(number: \""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAddressBook.swift",
+ "kind": "StringLiteral",
+ "offset": 1894,
+ "length": 1,
+ "value": "\", location:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAddressBook.swift",
+ "kind": "StringLiteral",
+ "offset": 1919,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAddressBook.swift",
+ "kind": "StringLiteral",
+ "offset": 1922,
+ "length": 1,
+ "value": "\", `operator`:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAddressBook.swift",
+ "kind": "StringLiteral",
+ "offset": 1951,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAddressBook.swift",
+ "kind": "StringLiteral",
+ "offset": 1954,
+ "length": 1,
+ "value": "\")\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 146,
+ "length": 8,
+ "value": "\"dialID\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 173,
+ "length": 8,
+ "value": "\"action\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 204,
+ "length": 12,
+ "value": "\"motionMode\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 237,
+ "length": 10,
+ "value": "\"language\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 265,
+ "length": 7,
+ "value": "\"value\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 289,
+ "length": 6,
+ "value": "\"file\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 318,
+ "length": 12,
+ "value": "\"targetStep\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 348,
+ "length": 7,
+ "value": "\"sleep\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 373,
+ "length": 7,
+ "value": "\"water\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 398,
+ "length": 7,
+ "value": "\"clock\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 427,
+ "length": 11,
+ "value": "\"heartRate\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 462,
+ "length": 13,
+ "value": "\"bloodOxygen\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 494,
+ "length": 8,
+ "value": "\"screen\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 527,
+ "length": 14,
+ "value": "\"vibrateSound\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 565,
+ "length": 13,
+ "value": "\"otherTarget\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 602,
+ "length": 13,
+ "value": "\"trainTarget\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 637,
+ "length": 11,
+ "value": "\"sendPhone\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 669,
+ "length": 10,
+ "value": "\"sendTime\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 701,
+ "length": 11,
+ "value": "\"auxiliary\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 733,
+ "length": 10,
+ "value": "\"userInfo\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 763,
+ "length": 9,
+ "value": "\"weather\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 796,
+ "length": 13,
+ "value": "\"addressBook\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 825,
+ "length": 5,
+ "value": "\"epo\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 846,
+ "length": 5,
+ "value": "\"ota\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 867,
+ "length": 5,
+ "value": "\"mp3\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 889,
+ "length": 6,
+ "value": "\"dial\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 916,
+ "length": 10,
+ "value": "\"dialFile\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 949,
+ "length": 12,
+ "value": "\"deleteFile\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 983,
+ "length": 11,
+ "value": "\"fetchFils\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 1014,
+ "length": 9,
+ "value": "\"aiValid\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 1046,
+ "length": 12,
+ "value": "\"aiResponse\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 146,
+ "length": 8,
+ "value": "\"dialID\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 173,
+ "length": 8,
+ "value": "\"action\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 204,
+ "length": 12,
+ "value": "\"motionMode\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 237,
+ "length": 10,
+ "value": "\"language\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 265,
+ "length": 7,
+ "value": "\"value\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 289,
+ "length": 6,
+ "value": "\"file\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 318,
+ "length": 12,
+ "value": "\"targetStep\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 348,
+ "length": 7,
+ "value": "\"sleep\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 373,
+ "length": 7,
+ "value": "\"water\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 398,
+ "length": 7,
+ "value": "\"clock\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 427,
+ "length": 11,
+ "value": "\"heartRate\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 462,
+ "length": 13,
+ "value": "\"bloodOxygen\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 494,
+ "length": 8,
+ "value": "\"screen\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 527,
+ "length": 14,
+ "value": "\"vibrateSound\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 565,
+ "length": 13,
+ "value": "\"otherTarget\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 602,
+ "length": 13,
+ "value": "\"trainTarget\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 637,
+ "length": 11,
+ "value": "\"sendPhone\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 669,
+ "length": 10,
+ "value": "\"sendTime\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 701,
+ "length": 11,
+ "value": "\"auxiliary\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 733,
+ "length": 10,
+ "value": "\"userInfo\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 763,
+ "length": 9,
+ "value": "\"weather\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 796,
+ "length": 13,
+ "value": "\"addressBook\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 825,
+ "length": 5,
+ "value": "\"epo\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 846,
+ "length": 5,
+ "value": "\"ota\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 867,
+ "length": 5,
+ "value": "\"mp3\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 889,
+ "length": 6,
+ "value": "\"dial\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 916,
+ "length": 10,
+ "value": "\"dialFile\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 949,
+ "length": 12,
+ "value": "\"deleteFile\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 983,
+ "length": 11,
+ "value": "\"fetchFils\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 1014,
+ "length": 9,
+ "value": "\"aiValid\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "StringLiteral",
+ "offset": 1046,
+ "length": 12,
+ "value": "\"aiResponse\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4290,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4316,
+ "length": 7,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4348,
+ "length": 4,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4290,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4316,
+ "length": 7,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4348,
+ "length": 4,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4290,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4316,
+ "length": 7,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4348,
+ "length": 4,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4425,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4455,
+ "length": 3,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4489,
+ "length": 4,
+ "value": "3"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4519,
+ "length": 6,
+ "value": "4"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4546,
+ "length": 3,
+ "value": "5"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4425,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4455,
+ "length": 3,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4489,
+ "length": 4,
+ "value": "3"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4519,
+ "length": 6,
+ "value": "4"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4546,
+ "length": 3,
+ "value": "5"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4425,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4455,
+ "length": 3,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4489,
+ "length": 4,
+ "value": "3"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4519,
+ "length": 6,
+ "value": "4"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4546,
+ "length": 3,
+ "value": "5"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4847,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4873,
+ "length": 5,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4909,
+ "length": 11,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4945,
+ "length": 5,
+ "value": "3"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4981,
+ "length": 11,
+ "value": "4"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5020,
+ "length": 7,
+ "value": "5"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5052,
+ "length": 7,
+ "value": "6"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5084,
+ "length": 5,
+ "value": "7"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5114,
+ "length": 6,
+ "value": "8"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5145,
+ "length": 6,
+ "value": "9"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5176,
+ "length": 11,
+ "value": "10"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5215,
+ "length": 5,
+ "value": "11"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5245,
+ "length": 5,
+ "value": "12"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5275,
+ "length": 9,
+ "value": "13"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5309,
+ "length": 5,
+ "value": "14"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5339,
+ "length": 7,
+ "value": "15"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4847,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4873,
+ "length": 5,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4909,
+ "length": 11,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4945,
+ "length": 5,
+ "value": "3"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4981,
+ "length": 11,
+ "value": "4"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5020,
+ "length": 7,
+ "value": "5"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5052,
+ "length": 7,
+ "value": "6"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5084,
+ "length": 5,
+ "value": "7"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5114,
+ "length": 6,
+ "value": "8"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5145,
+ "length": 6,
+ "value": "9"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5176,
+ "length": 11,
+ "value": "10"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5215,
+ "length": 5,
+ "value": "11"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5245,
+ "length": 5,
+ "value": "12"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5275,
+ "length": 9,
+ "value": "13"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5309,
+ "length": 5,
+ "value": "14"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5339,
+ "length": 7,
+ "value": "15"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4847,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4873,
+ "length": 5,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4909,
+ "length": 11,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4945,
+ "length": 5,
+ "value": "3"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4981,
+ "length": 11,
+ "value": "4"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5020,
+ "length": 7,
+ "value": "5"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5052,
+ "length": 7,
+ "value": "6"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5084,
+ "length": 5,
+ "value": "7"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5114,
+ "length": 6,
+ "value": "8"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5145,
+ "length": 6,
+ "value": "9"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5176,
+ "length": 11,
+ "value": "10"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5215,
+ "length": 5,
+ "value": "11"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5245,
+ "length": 5,
+ "value": "12"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5275,
+ "length": 9,
+ "value": "13"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5309,
+ "length": 5,
+ "value": "14"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParameter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5339,
+ "length": 7,
+ "value": "15"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOtherTarget.swift",
+ "kind": "IntegerLiteral",
+ "offset": 228,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOtherTarget.swift",
+ "kind": "IntegerLiteral",
+ "offset": 296,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOtherTarget.swift",
+ "kind": "IntegerLiteral",
+ "offset": 365,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOtherTarget.swift",
+ "kind": "IntegerLiteral",
+ "offset": 439,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOtherTarget.swift",
+ "kind": "IntegerLiteral",
+ "offset": 517,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOtherTarget.swift",
+ "kind": "IntegerLiteral",
+ "offset": 597,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOtherTarget.swift",
+ "kind": "IntegerLiteral",
+ "offset": 676,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOtherTarget.swift",
+ "kind": "IntegerLiteral",
+ "offset": 758,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOtherTarget.swift",
+ "kind": "IntegerLiteral",
+ "offset": 762,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOtherTarget.swift",
+ "kind": "IntegerLiteral",
+ "offset": 792,
+ "length": 1,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOtherTarget.swift",
+ "kind": "IntegerLiteral",
+ "offset": 820,
+ "length": 1,
+ "value": "3"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOtherTarget.swift",
+ "kind": "IntegerLiteral",
+ "offset": 850,
+ "length": 1,
+ "value": "4"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOtherTarget.swift",
+ "kind": "IntegerLiteral",
+ "offset": 883,
+ "length": 1,
+ "value": "5"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOtherTarget.swift",
+ "kind": "IntegerLiteral",
+ "offset": 918,
+ "length": 1,
+ "value": "6"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOtherTarget.swift",
+ "kind": "IntegerLiteral",
+ "offset": 952,
+ "length": 1,
+ "value": "7"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOtherTarget.swift",
+ "kind": "StringLiteral",
+ "offset": 1013,
+ "length": 176,
+ "value": "\"IBOtherTarget(calorie: \""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOtherTarget.swift",
+ "kind": "StringLiteral",
+ "offset": 1047,
+ "length": 1,
+ "value": "\", mileage:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOtherTarget.swift",
+ "kind": "StringLiteral",
+ "offset": 1067,
+ "length": 1,
+ "value": "\", stand:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOtherTarget.swift",
+ "kind": "StringLiteral",
+ "offset": 1083,
+ "length": 1,
+ "value": "\", burning:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOtherTarget.swift",
+ "kind": "StringLiteral",
+ "offset": 1103,
+ "length": 1,
+ "value": "\", ringsState:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOtherTarget.swift",
+ "kind": "StringLiteral",
+ "offset": 1129,
+ "length": 1,
+ "value": "\", vibrateState:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOtherTarget.swift",
+ "kind": "StringLiteral",
+ "offset": 1159,
+ "length": 1,
+ "value": "\", noticeState:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOtherTarget.swift",
+ "kind": "StringLiteral",
+ "offset": 1187,
+ "length": 1,
+ "value": "\")\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAbout.swift",
+ "kind": "IntegerLiteral",
+ "offset": 259,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAbout.swift",
+ "kind": "IntegerLiteral",
+ "offset": 316,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAbout.swift",
+ "kind": "IntegerLiteral",
+ "offset": 372,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAbout.swift",
+ "kind": "IntegerLiteral",
+ "offset": 430,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAbout.swift",
+ "kind": "StringLiteral",
+ "offset": 487,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryDistance.swift",
+ "kind": "Array",
+ "offset": 221,
+ "length": 2,
+ "value": "[]"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryDistance.swift",
+ "kind": "Array",
+ "offset": 308,
+ "length": 2,
+ "value": "[]"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryDistance.swift",
+ "kind": "IntegerLiteral",
+ "offset": 341,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryDistance.swift",
+ "kind": "IntegerLiteral",
+ "offset": 364,
+ "length": 1,
+ "value": "8"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryDistance.swift",
+ "kind": "IntegerLiteral",
+ "offset": 400,
+ "length": 1,
+ "value": "7"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryDistance.swift",
+ "kind": "IntegerLiteral",
+ "offset": 496,
+ "length": 1,
+ "value": "3"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryDistance.swift",
+ "kind": "IntegerLiteral",
+ "offset": 540,
+ "length": 1,
+ "value": "4"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryDistance.swift",
+ "kind": "IntegerLiteral",
+ "offset": 546,
+ "length": 1,
+ "value": "7"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryDistance.swift",
+ "kind": "IntegerLiteral",
+ "offset": 762,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryDistance.swift",
+ "kind": "IntegerLiteral",
+ "offset": 811,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
+ "kind": "Array",
+ "offset": 256,
+ "length": 2,
+ "value": "[]"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
+ "kind": "StringLiteral",
+ "offset": 325,
+ "length": 6,
+ "value": "\"recs\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
+ "kind": "StringLiteral",
+ "offset": 325,
+ "length": 6,
+ "value": "\"recs\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
+ "kind": "IntegerLiteral",
+ "offset": 506,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
+ "kind": "IntegerLiteral",
+ "offset": 890,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
+ "kind": "IntegerLiteral",
+ "offset": 966,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1042,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1158,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1310,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1382,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1456,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1673,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
+ "kind": "StringLiteral",
+ "offset": 2103,
+ "length": 5,
+ "value": "\"src\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
+ "kind": "StringLiteral",
+ "offset": 2134,
+ "length": 4,
+ "value": "\"bt\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
+ "kind": "StringLiteral",
+ "offset": 2167,
+ "length": 4,
+ "value": "\"ty\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
+ "kind": "StringLiteral",
+ "offset": 2192,
+ "length": 4,
+ "value": "\"st\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
+ "kind": "StringLiteral",
+ "offset": 2217,
+ "length": 4,
+ "value": "\"sp\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
+ "kind": "StringLiteral",
+ "offset": 2248,
+ "length": 5,
+ "value": "\"tgt\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
+ "kind": "StringLiteral",
+ "offset": 2276,
+ "length": 4,
+ "value": "\"tg\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
+ "kind": "StringLiteral",
+ "offset": 2305,
+ "length": 4,
+ "value": "\"pg\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
+ "kind": "StringLiteral",
+ "offset": 2334,
+ "length": 4,
+ "value": "\"du\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
+ "kind": "StringLiteral",
+ "offset": 2362,
+ "length": 4,
+ "value": "\"ca\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
+ "kind": "StringLiteral",
+ "offset": 2391,
+ "length": 4,
+ "value": "\"dl\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
+ "kind": "StringLiteral",
+ "offset": 2421,
+ "length": 4,
+ "value": "\"hr\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
+ "kind": "StringLiteral",
+ "offset": 2446,
+ "length": 5,
+ "value": "\"stp\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
+ "kind": "StringLiteral",
+ "offset": 2481,
+ "length": 4,
+ "value": "\"tl\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
+ "kind": "StringLiteral",
+ "offset": 2508,
+ "length": 5,
+ "value": "\"cir\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
+ "kind": "StringLiteral",
+ "offset": 2539,
+ "length": 5,
+ "value": "\"alt\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
+ "kind": "StringLiteral",
+ "offset": 2103,
+ "length": 5,
+ "value": "\"src\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
+ "kind": "StringLiteral",
+ "offset": 2134,
+ "length": 4,
+ "value": "\"bt\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
+ "kind": "StringLiteral",
+ "offset": 2167,
+ "length": 4,
+ "value": "\"ty\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
+ "kind": "StringLiteral",
+ "offset": 2192,
+ "length": 4,
+ "value": "\"st\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
+ "kind": "StringLiteral",
+ "offset": 2217,
+ "length": 4,
+ "value": "\"sp\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
+ "kind": "StringLiteral",
+ "offset": 2248,
+ "length": 5,
+ "value": "\"tgt\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
+ "kind": "StringLiteral",
+ "offset": 2276,
+ "length": 4,
+ "value": "\"tg\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
+ "kind": "StringLiteral",
+ "offset": 2305,
+ "length": 4,
+ "value": "\"pg\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
+ "kind": "StringLiteral",
+ "offset": 2334,
+ "length": 4,
+ "value": "\"du\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
+ "kind": "StringLiteral",
+ "offset": 2362,
+ "length": 4,
+ "value": "\"ca\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
+ "kind": "StringLiteral",
+ "offset": 2391,
+ "length": 4,
+ "value": "\"dl\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
+ "kind": "StringLiteral",
+ "offset": 2421,
+ "length": 4,
+ "value": "\"hr\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
+ "kind": "StringLiteral",
+ "offset": 2446,
+ "length": 5,
+ "value": "\"stp\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
+ "kind": "StringLiteral",
+ "offset": 2481,
+ "length": 4,
+ "value": "\"tl\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
+ "kind": "StringLiteral",
+ "offset": 2508,
+ "length": 5,
+ "value": "\"cir\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBaseTraining.swift",
+ "kind": "StringLiteral",
+ "offset": 2539,
+ "length": 5,
+ "value": "\"alt\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainingData.swift",
+ "kind": "StringLiteral",
+ "offset": 849,
+ "length": 4,
+ "value": "\"st\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainingData.swift",
+ "kind": "StringLiteral",
+ "offset": 886,
+ "length": 4,
+ "value": "\"hr\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainingData.swift",
+ "kind": "StringLiteral",
+ "offset": 921,
+ "length": 4,
+ "value": "\"ca\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainingData.swift",
+ "kind": "StringLiteral",
+ "offset": 957,
+ "length": 4,
+ "value": "\"di\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainingData.swift",
+ "kind": "StringLiteral",
+ "offset": 994,
+ "length": 5,
+ "value": "\"stp\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainingData.swift",
+ "kind": "StringLiteral",
+ "offset": 1032,
+ "length": 4,
+ "value": "\"ti\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainingData.swift",
+ "kind": "StringLiteral",
+ "offset": 1103,
+ "length": 155,
+ "value": "\"IBTrainingData(startTime: \""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainingData.swift",
+ "kind": "StringLiteral",
+ "offset": 1142,
+ "length": 1,
+ "value": "\", heartRate:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainingData.swift",
+ "kind": "StringLiteral",
+ "offset": 1166,
+ "length": 1,
+ "value": "\", calorie:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainingData.swift",
+ "kind": "StringLiteral",
+ "offset": 1186,
+ "length": 1,
+ "value": "\", distance:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainingData.swift",
+ "kind": "StringLiteral",
+ "offset": 1208,
+ "length": 1,
+ "value": "\", stepCount:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainingData.swift",
+ "kind": "StringLiteral",
+ "offset": 1232,
+ "length": 1,
+ "value": "\", intensity:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainingData.swift",
+ "kind": "StringLiteral",
+ "offset": 1256,
+ "length": 1,
+ "value": "\")\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "StringLiteral",
+ "offset": 543,
+ "length": 22,
+ "value": "\"缺少参数: dialID\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "StringLiteral",
+ "offset": 812,
+ "length": 22,
+ "value": "\"缺少参数: action\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "StringLiteral",
+ "offset": 1087,
+ "length": 26,
+ "value": "\"缺少参数: motionMode\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "StringLiteral",
+ "offset": 1371,
+ "length": 24,
+ "value": "\"缺少参数: language\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "StringLiteral",
+ "offset": 1657,
+ "length": 25,
+ "value": "\"缺少参数: auxiliary\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "StringLiteral",
+ "offset": 1932,
+ "length": 21,
+ "value": "\"缺少参数: value\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "StringLiteral",
+ "offset": 2203,
+ "length": 21,
+ "value": "\"缺少参数: value\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2280,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2284,
+ "length": 3,
+ "value": "255"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "StringLiteral",
+ "offset": 2496,
+ "length": 21,
+ "value": "\"缺少参数: value\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "StringLiteral",
+ "offset": 2760,
+ "length": 21,
+ "value": "\"缺少参数: value\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "StringLiteral",
+ "offset": 3019,
+ "length": 20,
+ "value": "\"缺少参数: file\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "StringLiteral",
+ "offset": 3283,
+ "length": 19,
+ "value": "\"缺少参数: ota\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "StringLiteral",
+ "offset": 3362,
+ "length": 23,
+ "value": "\"json解析异常: ota\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "StringLiteral",
+ "offset": 3428,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "StringLiteral",
+ "offset": 3656,
+ "length": 25,
+ "value": "\"缺少参数: aiReponse\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "StringLiteral",
+ "offset": 4130,
+ "length": 23,
+ "value": "\"缺少参数: aiValid\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4241,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4250,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "BooleanLiteral",
+ "offset": 4286,
+ "length": 4,
+ "value": "true"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "StringLiteral",
+ "offset": 4611,
+ "length": 26,
+ "value": "\"缺少参数: targetStep\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "StringLiteral",
+ "offset": 4961,
+ "length": 21,
+ "value": "\"缺少参数: sleep\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5057,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "StringLiteral",
+ "offset": 6087,
+ "length": 21,
+ "value": "\"缺少参数: water\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "IntegerLiteral",
+ "offset": 6190,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "IntegerLiteral",
+ "offset": 6427,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "StringLiteral",
+ "offset": 6769,
+ "length": 25,
+ "value": "\"缺少参数: heartRate\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "IntegerLiteral",
+ "offset": 6929,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "StringLiteral",
+ "offset": 7238,
+ "length": 25,
+ "value": "\"缺少参数: heartRate\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "IntegerLiteral",
+ "offset": 7398,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "StringLiteral",
+ "offset": 7680,
+ "length": 27,
+ "value": "\"缺少参数: otherTarget\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "StringLiteral",
+ "offset": 8181,
+ "length": 31,
+ "value": "\"缺少参数: IBVibrateConfig\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "IntegerLiteral",
+ "offset": 8279,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "StringLiteral",
+ "offset": 8456,
+ "length": 30,
+ "value": "\"参数错误: IBScreenConfig\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "IntegerLiteral",
+ "offset": 8542,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "StringLiteral",
+ "offset": 8715,
+ "length": 30,
+ "value": "\"参数错误: IBScreenConfig\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "IntegerLiteral",
+ "offset": 8801,
+ "length": 1,
+ "value": "3"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "StringLiteral",
+ "offset": 9034,
+ "length": 30,
+ "value": "\"参数错误: IBScreenConfig\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "Array",
+ "offset": 9105,
+ "length": 2,
+ "value": "[]"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "StringLiteral",
+ "offset": 9294,
+ "length": 30,
+ "value": "\"缺少参数: IBScreenConfig\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "IntegerLiteral",
+ "offset": 9391,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "StringLiteral",
+ "offset": 9565,
+ "length": 30,
+ "value": "\"参数错误: IBScreenConfig\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "StringLiteral",
+ "offset": 9848,
+ "length": 30,
+ "value": "\"参数错误: IBScreenConfig\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "StringLiteral",
+ "offset": 10096,
+ "length": 24,
+ "value": "\"缺少参数: userInfo\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "StringLiteral",
+ "offset": 10576,
+ "length": 21,
+ "value": "\"缺少参数: clock\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "StringLiteral",
+ "offset": 10657,
+ "length": 25,
+ "value": "\"json解析异常: clock\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "StringLiteral",
+ "offset": 10725,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "StringLiteral",
+ "offset": 10965,
+ "length": 27,
+ "value": "\"缺少参数: trainTarget\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "StringLiteral",
+ "offset": 11052,
+ "length": 31,
+ "value": "\"json解析异常: trainTarget\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "StringLiteral",
+ "offset": 11126,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "StringLiteral",
+ "offset": 11360,
+ "length": 25,
+ "value": "\"缺少参数: sendPhone\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "StringLiteral",
+ "offset": 11445,
+ "length": 29,
+ "value": "\"json解析异常: sendPhone\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "StringLiteral",
+ "offset": 11517,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "StringLiteral",
+ "offset": 11748,
+ "length": 24,
+ "value": "\"缺少参数: sendTime\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "StringLiteral",
+ "offset": 11832,
+ "length": 28,
+ "value": "\"json解析异常: sendTime\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "StringLiteral",
+ "offset": 11903,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "StringLiteral",
+ "offset": 12122,
+ "length": 23,
+ "value": "\"缺少参数: weather\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "StringLiteral",
+ "offset": 12205,
+ "length": 27,
+ "value": "\"json解析异常: weather\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "StringLiteral",
+ "offset": 12275,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "StringLiteral",
+ "offset": 12505,
+ "length": 27,
+ "value": "\"缺少参数: addressBook\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "IntegerLiteral",
+ "offset": 12560,
+ "length": 2,
+ "value": "20"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "StringLiteral",
+ "offset": 12576,
+ "length": 54,
+ "value": "\"参数: addressBook,最多不能超过20个联系人\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "StringLiteral",
+ "offset": 12689,
+ "length": 4,
+ "value": "\"[ \""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "IntegerLiteral",
+ "offset": 13070,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "IntegerLiteral",
+ "offset": 13217,
+ "length": 1,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "StringLiteral",
+ "offset": 13232,
+ "length": 58,
+ "value": "\"参数: addressBook,电话号码书数不能超过两个\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "IntegerLiteral",
+ "offset": 13620,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "IntegerLiteral",
+ "offset": 13914,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "IntegerLiteral",
+ "offset": 14208,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "StringLiteral",
+ "offset": 14273,
+ "length": 4,
+ "value": "\" ]\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "StringLiteral",
+ "offset": 14533,
+ "length": 19,
+ "value": "\"缺少参数: MP3\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "StringLiteral",
+ "offset": 14612,
+ "length": 23,
+ "value": "\"json解析异常: MP3\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "StringLiteral",
+ "offset": 14678,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "StringLiteral",
+ "offset": 14884,
+ "length": 19,
+ "value": "\"缺少参数: epo\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "StringLiteral",
+ "offset": 14962,
+ "length": 4,
+ "value": "\"[ \""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "StringLiteral",
+ "offset": 15293,
+ "length": 4,
+ "value": "\" ]\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "StringLiteral",
+ "offset": 16092,
+ "length": 20,
+ "value": "\"缺少参数: dial\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "IntegerLiteral",
+ "offset": 16368,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "IntegerLiteral",
+ "offset": 16504,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "StringLiteral",
+ "offset": 16734,
+ "length": 24,
+ "value": "\"缺少参数: dialFile\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "IntegerLiteral",
+ "offset": 17061,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBChecker.swift",
+ "kind": "StringLiteral",
+ "offset": 17331,
+ "length": 26,
+ "value": "\"缺少参数: deleteFile\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBDeleteFile.swift",
+ "kind": "Array",
+ "offset": 332,
+ "length": 2,
+ "value": "[]"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBDeleteFile.swift",
+ "kind": "StringLiteral",
+ "offset": 416,
+ "length": 51,
+ "value": "\"IBDeleteFile(fileType: \""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBDeleteFile.swift",
+ "kind": "StringLiteral",
+ "offset": 451,
+ "length": 1,
+ "value": "\", uids:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBDeleteFile.swift",
+ "kind": "StringLiteral",
+ "offset": 465,
+ "length": 1,
+ "value": "\")\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTarinState.swift",
+ "kind": "IntegerLiteral",
+ "offset": 250,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTarinState.swift",
+ "kind": "IntegerLiteral",
+ "offset": 316,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTarinState.swift",
+ "kind": "IntegerLiteral",
+ "offset": 396,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTarinState.swift",
+ "kind": "IntegerLiteral",
+ "offset": 427,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTarinState.swift",
+ "kind": "IntegerLiteral",
+ "offset": 431,
+ "length": 1,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTarinState.swift",
+ "kind": "StringLiteral",
+ "offset": 498,
+ "length": 53,
+ "value": "\"IBTarinState(state: \""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTarinState.swift",
+ "kind": "StringLiteral",
+ "offset": 527,
+ "length": 1,
+ "value": "\", duration:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTarinState.swift",
+ "kind": "StringLiteral",
+ "offset": 549,
+ "length": 1,
+ "value": "\")\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAiValid.swift",
+ "kind": "BooleanLiteral",
+ "offset": 233,
+ "length": 4,
+ "value": "true"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAiValid.swift",
+ "kind": "StringLiteral",
+ "offset": 405,
+ "length": 50,
+ "value": "\"IBAiValid(isValid: \""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAiValid.swift",
+ "kind": "StringLiteral",
+ "offset": 435,
+ "length": 1,
+ "value": "\", key:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAiValid.swift",
+ "kind": "StringLiteral",
+ "offset": 450,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAiValid.swift",
+ "kind": "StringLiteral",
+ "offset": 453,
+ "length": 1,
+ "value": "\")\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
+ "kind": "IntegerLiteral",
+ "offset": 333,
+ "length": 1,
+ "value": "7"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
+ "kind": "IntegerLiteral",
+ "offset": 337,
+ "length": 2,
+ "value": "10"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
+ "kind": "IntegerLiteral",
+ "offset": 378,
+ "length": 2,
+ "value": "17"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
+ "kind": "Array",
+ "offset": 841,
+ "length": 76,
+ "value": "[\"指令校验失败\", \"切换成功\", \"无该表盘资源\", \"切换失败\"]"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
+ "kind": "IntegerLiteral",
+ "offset": 956,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
+ "kind": "Array",
+ "offset": 1687,
+ "length": 48,
+ "value": "[\"指令校验失败\", \"已安装\", \"未安装\"]"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1774,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2126,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
+ "kind": "Array",
+ "offset": 2305,
+ "length": 69,
+ "value": "[\"指令校验失败\", \"操作成功\", \"进行手势拍照\", \"退出\"]"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2413,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2726,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
+ "kind": "StringLiteral",
+ "offset": 2730,
+ "length": 8,
+ "value": "\"关闭\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
+ "kind": "StringLiteral",
+ "offset": 2739,
+ "length": 8,
+ "value": "\"开启\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
+ "kind": "Array",
+ "offset": 2965,
+ "length": 72,
+ "value": "[\"指令校验失败\", \"操作成功\", \"手表已找到,停止查找\"]"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
+ "kind": "IntegerLiteral",
+ "offset": 3076,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
+ "kind": "Array",
+ "offset": 3287,
+ "length": 120,
+ "value": "[\"指令校验失败\", \"手表未与任何手机绑定\", \"手表已与该手机绑定\", \"手表已与其他手机绑定\"]"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
+ "kind": "IntegerLiteral",
+ "offset": 3446,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
+ "kind": "Dictionary",
+ "offset": 3713,
+ "length": 64,
+ "value": "[(0, \"空闲状态\"), (9, \"USB存储状态\"), (10, \"运动训练状态\")]"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
+ "kind": "StringLiteral",
+ "offset": 3852,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4022,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4048,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4081,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4127,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4456,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
+ "kind": "StringLiteral",
+ "offset": 8707,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
+ "kind": "StringLiteral",
+ "offset": 9059,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
+ "kind": "StringLiteral",
+ "offset": 9409,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
+ "kind": "IntegerLiteral",
+ "offset": 9731,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
+ "kind": "IntegerLiteral",
+ "offset": 9924,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
+ "kind": "Array",
+ "offset": 9965,
+ "length": 2,
+ "value": "[]"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
+ "kind": "IntegerLiteral",
+ "offset": 9985,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
+ "kind": "IntegerLiteral",
+ "offset": 10035,
+ "length": 1,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
+ "kind": "IntegerLiteral",
+ "offset": 10041,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
+ "kind": "IntegerLiteral",
+ "offset": 10045,
+ "length": 1,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBParser.swift",
+ "kind": "IntegerLiteral",
+ "offset": 10051,
+ "length": 1,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBUserInfo.swift",
+ "kind": "IntegerLiteral",
+ "offset": 191,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBUserInfo.swift",
+ "kind": "IntegerLiteral",
+ "offset": 259,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBUserInfo.swift",
+ "kind": "IntegerLiteral",
+ "offset": 317,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBUserInfo.swift",
+ "kind": "IntegerLiteral",
+ "offset": 375,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBUserInfo.swift",
+ "kind": "IntegerLiteral",
+ "offset": 425,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBUserInfo.swift",
+ "kind": "IntegerLiteral",
+ "offset": 499,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBUserInfo.swift",
+ "kind": "IntegerLiteral",
+ "offset": 556,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBUserInfo.swift",
+ "kind": "IntegerLiteral",
+ "offset": 635,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBUserInfo.swift",
+ "kind": "IntegerLiteral",
+ "offset": 714,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBUserInfo.swift",
+ "kind": "IntegerLiteral",
+ "offset": 743,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBUserInfo.swift",
+ "kind": "IntegerLiteral",
+ "offset": 772,
+ "length": 1,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBUserInfo.swift",
+ "kind": "IntegerLiteral",
+ "offset": 801,
+ "length": 1,
+ "value": "3"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBUserInfo.swift",
+ "kind": "IntegerLiteral",
+ "offset": 805,
+ "length": 1,
+ "value": "4"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBUserInfo.swift",
+ "kind": "IntegerLiteral",
+ "offset": 832,
+ "length": 1,
+ "value": "5"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBUserInfo.swift",
+ "kind": "IntegerLiteral",
+ "offset": 836,
+ "length": 1,
+ "value": "8"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBUserInfo.swift",
+ "kind": "IntegerLiteral",
+ "offset": 866,
+ "length": 1,
+ "value": "9"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBUserInfo.swift",
+ "kind": "IntegerLiteral",
+ "offset": 870,
+ "length": 2,
+ "value": "10"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBUserInfo.swift",
+ "kind": "IntegerLiteral",
+ "offset": 899,
+ "length": 2,
+ "value": "11"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBUserInfo.swift",
+ "kind": "IntegerLiteral",
+ "offset": 933,
+ "length": 2,
+ "value": "12"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBUserInfo.swift",
+ "kind": "StringLiteral",
+ "offset": 1001,
+ "length": 155,
+ "value": "\"IBUserInfo(age: \""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBUserInfo.swift",
+ "kind": "StringLiteral",
+ "offset": 1024,
+ "length": 1,
+ "value": "\", gender:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBUserInfo.swift",
+ "kind": "StringLiteral",
+ "offset": 1042,
+ "length": 1,
+ "value": "\", height:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBUserInfo.swift",
+ "kind": "StringLiteral",
+ "offset": 1060,
+ "length": 1,
+ "value": "\", weight:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBUserInfo.swift",
+ "kind": "StringLiteral",
+ "offset": 1078,
+ "length": 1,
+ "value": "\", step:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBUserInfo.swift",
+ "kind": "StringLiteral",
+ "offset": 1092,
+ "length": 1,
+ "value": "\", burning:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBUserInfo.swift",
+ "kind": "StringLiteral",
+ "offset": 1112,
+ "length": 1,
+ "value": "\", stand:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBUserInfo.swift",
+ "kind": "StringLiteral",
+ "offset": 1128,
+ "length": 1,
+ "value": "\", hourSystem:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBUserInfo.swift",
+ "kind": "StringLiteral",
+ "offset": 1154,
+ "length": 1,
+ "value": "\")\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryHeartRate.swift",
+ "kind": "Array",
+ "offset": 215,
+ "length": 2,
+ "value": "[]"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryHeartRate.swift",
+ "kind": "Array",
+ "offset": 303,
+ "length": 2,
+ "value": "[]"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryHeartRate.swift",
+ "kind": "IntegerLiteral",
+ "offset": 336,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryHeartRate.swift",
+ "kind": "IntegerLiteral",
+ "offset": 359,
+ "length": 1,
+ "value": "5"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryHeartRate.swift",
+ "kind": "IntegerLiteral",
+ "offset": 395,
+ "length": 1,
+ "value": "4"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryHeartRate.swift",
+ "kind": "IntegerLiteral",
+ "offset": 492,
+ "length": 1,
+ "value": "3"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryHeartRate.swift",
+ "kind": "IntegerLiteral",
+ "offset": 536,
+ "length": 1,
+ "value": "4"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryHeartRate.swift",
+ "kind": "IntegerLiteral",
+ "offset": 751,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryHeartRate.swift",
+ "kind": "IntegerLiteral",
+ "offset": 796,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBloodOxygen.swift",
+ "kind": "Array",
+ "offset": 220,
+ "length": 2,
+ "value": "[]"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBloodOxygen.swift",
+ "kind": "Array",
+ "offset": 310,
+ "length": 2,
+ "value": "[]"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBloodOxygen.swift",
+ "kind": "IntegerLiteral",
+ "offset": 343,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBloodOxygen.swift",
+ "kind": "IntegerLiteral",
+ "offset": 366,
+ "length": 1,
+ "value": "5"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBloodOxygen.swift",
+ "kind": "IntegerLiteral",
+ "offset": 402,
+ "length": 1,
+ "value": "4"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBloodOxygen.swift",
+ "kind": "IntegerLiteral",
+ "offset": 501,
+ "length": 1,
+ "value": "3"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBloodOxygen.swift",
+ "kind": "IntegerLiteral",
+ "offset": 545,
+ "length": 1,
+ "value": "4"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBloodOxygen.swift",
+ "kind": "IntegerLiteral",
+ "offset": 762,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBloodOxygen.swift",
+ "kind": "IntegerLiteral",
+ "offset": 817,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
+ "kind": "Array",
+ "offset": 397,
+ "length": 2,
+ "value": "[]"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
+ "kind": "StringLiteral",
+ "offset": 218,
+ "length": 6,
+ "value": "\"IOTBluetooth.Weakly\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
+ "kind": "Array",
+ "offset": 589,
+ "length": 2,
+ "value": "[]"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
+ "kind": "StringLiteral",
+ "offset": 2400,
+ "length": 34,
+ "value": "\"observer or name must be not nil\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
+ "kind": "Dictionary",
+ "offset": 3015,
+ "length": 3,
+ "value": "[]"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
+ "kind": "Dictionary",
+ "offset": 3620,
+ "length": 3,
+ "value": "[]"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
+ "kind": "StringLiteral",
+ "offset": 4640,
+ "length": 36,
+ "value": "\"IOTBluetooth.ConnectStateDidChange\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
+ "kind": "StringLiteral",
+ "offset": 4810,
+ "length": 24,
+ "value": "\"IOTBluetooth.TakePhoto\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
+ "kind": "StringLiteral",
+ "offset": 4913,
+ "length": 22,
+ "value": "\"IOTBluetooth.weather\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
+ "kind": "StringLiteral",
+ "offset": 5008,
+ "length": 25,
+ "value": "\"IOTBluetooth.FindDevice\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
+ "kind": "StringLiteral",
+ "offset": 5162,
+ "length": 32,
+ "value": "\"IOTBluetooth.TrainStateChanged\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
+ "kind": "StringLiteral",
+ "offset": 5338,
+ "length": 27,
+ "value": "\"IOTBluetooth.TrainingData\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
+ "kind": "StringLiteral",
+ "offset": 5473,
+ "length": 32,
+ "value": "\"IOTBluetooth.TileReceiveFinish\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5773,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5803,
+ "length": 1,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5816,
+ "length": 1,
+ "value": "3"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
+ "kind": "BooleanLiteral",
+ "offset": 5899,
+ "length": 4,
+ "value": "true"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
+ "kind": "IntegerLiteral",
+ "offset": 6108,
+ "length": 1,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
+ "kind": "BooleanLiteral",
+ "offset": 6182,
+ "length": 4,
+ "value": "true"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
+ "kind": "IntegerLiteral",
+ "offset": 6242,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
+ "kind": "IntegerLiteral",
+ "offset": 6248,
+ "length": 4,
+ "value": "0x05"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
+ "kind": "IntegerLiteral",
+ "offset": 6267,
+ "length": 1,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
+ "kind": "IntegerLiteral",
+ "offset": 6273,
+ "length": 4,
+ "value": "0x03"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
+ "kind": "BooleanLiteral",
+ "offset": 6326,
+ "length": 4,
+ "value": "true"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
+ "kind": "IntegerLiteral",
+ "offset": 6392,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
+ "kind": "IntegerLiteral",
+ "offset": 6398,
+ "length": 4,
+ "value": "0x05"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
+ "kind": "IntegerLiteral",
+ "offset": 6417,
+ "length": 1,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
+ "kind": "IntegerLiteral",
+ "offset": 6423,
+ "length": 4,
+ "value": "0x04"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
+ "kind": "Array",
+ "offset": 6545,
+ "length": 31,
+ "value": "[\"安装失败\", \"安装成功\"]"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
+ "kind": "StringLiteral",
+ "offset": 6600,
+ "length": 23,
+ "value": "\"表盘安装状态:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
+ "kind": "BooleanLiteral",
+ "offset": 6655,
+ "length": 4,
+ "value": "true"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
+ "kind": "IntegerLiteral",
+ "offset": 6739,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
+ "kind": "IntegerLiteral",
+ "offset": 6745,
+ "length": 4,
+ "value": "0x05"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
+ "kind": "IntegerLiteral",
+ "offset": 6764,
+ "length": 1,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
+ "kind": "IntegerLiteral",
+ "offset": 6770,
+ "length": 4,
+ "value": "0x06"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
+ "kind": "BooleanLiteral",
+ "offset": 6841,
+ "length": 4,
+ "value": "true"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
+ "kind": "IntegerLiteral",
+ "offset": 6909,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
+ "kind": "IntegerLiteral",
+ "offset": 6915,
+ "length": 4,
+ "value": "0x05"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
+ "kind": "IntegerLiteral",
+ "offset": 6934,
+ "length": 1,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
+ "kind": "IntegerLiteral",
+ "offset": 6940,
+ "length": 4,
+ "value": "0x05"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
+ "kind": "BooleanLiteral",
+ "offset": 7013,
+ "length": 4,
+ "value": "true"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
+ "kind": "IntegerLiteral",
+ "offset": 7082,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
+ "kind": "IntegerLiteral",
+ "offset": 7088,
+ "length": 4,
+ "value": "0x05"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
+ "kind": "IntegerLiteral",
+ "offset": 7107,
+ "length": 1,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
+ "kind": "IntegerLiteral",
+ "offset": 7113,
+ "length": 4,
+ "value": "0x20"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
+ "kind": "IntegerLiteral",
+ "offset": 7243,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
+ "kind": "IntegerLiteral",
+ "offset": 7253,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
+ "kind": "BooleanLiteral",
+ "offset": 7275,
+ "length": 4,
+ "value": "true"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
+ "kind": "IntegerLiteral",
+ "offset": 7341,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
+ "kind": "IntegerLiteral",
+ "offset": 7347,
+ "length": 4,
+ "value": "0x05"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
+ "kind": "IntegerLiteral",
+ "offset": 7366,
+ "length": 1,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
+ "kind": "IntegerLiteral",
+ "offset": 7372,
+ "length": 4,
+ "value": "0x50"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
+ "kind": "BooleanLiteral",
+ "offset": 7561,
+ "length": 4,
+ "value": "true"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
+ "kind": "BooleanLiteral",
+ "offset": 7868,
+ "length": 4,
+ "value": "true"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
+ "kind": "BooleanLiteral",
+ "offset": 7960,
+ "length": 4,
+ "value": "true"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBNotify.swift",
+ "kind": "BooleanLiteral",
+ "offset": 7990,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
+ "kind": "BooleanLiteral",
+ "offset": 199,
+ "length": 4,
+ "value": "true"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
+ "kind": "BooleanLiteral",
+ "offset": 227,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
+ "kind": "BooleanLiteral",
+ "offset": 338,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
+ "kind": "IntegerLiteral",
+ "offset": 444,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
+ "kind": "BooleanLiteral",
+ "offset": 535,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
+ "kind": "IntegerLiteral",
+ "offset": 659,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
+ "kind": "BooleanLiteral",
+ "offset": 768,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
+ "kind": "IntegerLiteral",
+ "offset": 876,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
+ "kind": "BooleanLiteral",
+ "offset": 969,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
+ "kind": "FloatLiteral",
+ "offset": 1114,
+ "length": 3,
+ "value": "8.0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1154,
+ "length": 1,
+ "value": "8"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
+ "kind": "StringLiteral",
+ "offset": 1202,
+ "length": 3,
+ "value": "\"0\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1396,
+ "length": 10,
+ "value": "0b11111111"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1646,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1696,
+ "length": 1,
+ "value": "8"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1728,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1848,
+ "length": 1,
+ "value": "8"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1879,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2204,
+ "length": 1,
+ "value": "8"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2420,
+ "length": 1,
+ "value": "8"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2468,
+ "length": 2,
+ "value": "16"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2685,
+ "length": 1,
+ "value": "8"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2733,
+ "length": 2,
+ "value": "16"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2782,
+ "length": 2,
+ "value": "24"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2949,
+ "length": 1,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
+ "kind": "IntegerLiteral",
+ "offset": 3139,
+ "length": 1,
+ "value": "8"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
+ "kind": "IntegerLiteral",
+ "offset": 3164,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
+ "kind": "StringLiteral",
+ "offset": 3394,
+ "length": 6,
+ "value": "\"%02x\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
+ "kind": "StringLiteral",
+ "offset": 3424,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
+ "kind": "StringLiteral",
+ "offset": 3595,
+ "length": 6,
+ "value": "\"%02x\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
+ "kind": "StringLiteral",
+ "offset": 3625,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
+ "kind": "IntegerLiteral",
+ "offset": 3897,
+ "length": 1,
+ "value": "8"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
+ "kind": "IntegerLiteral",
+ "offset": 3922,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
+ "kind": "FloatLiteral",
+ "offset": 4196,
+ "length": 3,
+ "value": "0.0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Any.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4291,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBCode.swift",
+ "kind": "StringLiteral",
+ "offset": 213,
+ "length": 51,
+ "value": "\"IBError(rawValue:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBCode.swift",
+ "kind": "StringLiteral",
+ "offset": 242,
+ "length": 1,
+ "value": "\", message:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBCode.swift",
+ "kind": "StringLiteral",
+ "offset": 262,
+ "length": 1,
+ "value": "\")\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBCode.swift",
+ "kind": "IntegerLiteral",
+ "offset": 311,
+ "length": 4,
+ "value": "1000"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBCode.swift",
+ "kind": "IntegerLiteral",
+ "offset": 356,
+ "length": 4,
+ "value": "1001"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBCode.swift",
+ "kind": "IntegerLiteral",
+ "offset": 406,
+ "length": 4,
+ "value": "1002"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBCode.swift",
+ "kind": "IntegerLiteral",
+ "offset": 454,
+ "length": 4,
+ "value": "1003"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBCode.swift",
+ "kind": "IntegerLiteral",
+ "offset": 499,
+ "length": 4,
+ "value": "1004"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBCode.swift",
+ "kind": "IntegerLiteral",
+ "offset": 543,
+ "length": 4,
+ "value": "1005"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBCode.swift",
+ "kind": "StringLiteral",
+ "offset": 641,
+ "length": 14,
+ "value": "\"操作失败\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBCode.swift",
+ "kind": "StringLiteral",
+ "offset": 698,
+ "length": 14,
+ "value": "\"操作成功\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBCode.swift",
+ "kind": "StringLiteral",
+ "offset": 760,
+ "length": 14,
+ "value": "\"参数错误\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBCode.swift",
+ "kind": "StringLiteral",
+ "offset": 820,
+ "length": 14,
+ "value": "\"解析错误\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBCode.swift",
+ "kind": "StringLiteral",
+ "offset": 877,
+ "length": 14,
+ "value": "\"请求超时\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBCode.swift",
+ "kind": "StringLiteral",
+ "offset": 928,
+ "length": 14,
+ "value": "\"未知错误\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBCode.swift",
+ "kind": "IntegerLiteral",
+ "offset": 311,
+ "length": 4,
+ "value": "1000"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBCode.swift",
+ "kind": "IntegerLiteral",
+ "offset": 356,
+ "length": 4,
+ "value": "1001"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBCode.swift",
+ "kind": "IntegerLiteral",
+ "offset": 406,
+ "length": 4,
+ "value": "1002"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBCode.swift",
+ "kind": "IntegerLiteral",
+ "offset": 454,
+ "length": 4,
+ "value": "1003"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBCode.swift",
+ "kind": "IntegerLiteral",
+ "offset": 499,
+ "length": 4,
+ "value": "1004"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBCode.swift",
+ "kind": "IntegerLiteral",
+ "offset": 543,
+ "length": 4,
+ "value": "1005"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBCode.swift",
+ "kind": "IntegerLiteral",
+ "offset": 311,
+ "length": 4,
+ "value": "1000"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBCode.swift",
+ "kind": "IntegerLiteral",
+ "offset": 356,
+ "length": 4,
+ "value": "1001"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBCode.swift",
+ "kind": "IntegerLiteral",
+ "offset": 406,
+ "length": 4,
+ "value": "1002"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBCode.swift",
+ "kind": "IntegerLiteral",
+ "offset": 454,
+ "length": 4,
+ "value": "1003"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBCode.swift",
+ "kind": "IntegerLiteral",
+ "offset": 499,
+ "length": 4,
+ "value": "1004"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBCode.swift",
+ "kind": "IntegerLiteral",
+ "offset": 543,
+ "length": 4,
+ "value": "1005"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBFetchFile.swift",
+ "kind": "StringLiteral",
+ "offset": 481,
+ "length": 6,
+ "value": "\"type\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBFetchFile.swift",
+ "kind": "StringLiteral",
+ "offset": 625,
+ "length": 6,
+ "value": "\"list\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBFetchFile.swift",
+ "kind": "StringLiteral",
+ "offset": 861,
+ "length": 5,
+ "value": "\"uid\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBFetchFile.swift",
+ "kind": "IntegerLiteral",
+ "offset": 879,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBFetchFile.swift",
+ "kind": "StringLiteral",
+ "offset": 919,
+ "length": 6,
+ "value": "\"name\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBFetchFile.swift",
+ "kind": "StringLiteral",
+ "offset": 941,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBFetchFile.swift",
+ "kind": "StringLiteral",
+ "offset": 982,
+ "length": 6,
+ "value": "\"size\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBFetchFile.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1001,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBFetchFile.swift",
+ "kind": "StringLiteral",
+ "offset": 1043,
+ "length": 8,
+ "value": "\"artist\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBFetchFile.swift",
+ "kind": "StringLiteral",
+ "offset": 1067,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBFetchFile.swift",
+ "kind": "StringLiteral",
+ "offset": 1112,
+ "length": 10,
+ "value": "\"duration\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBFetchFile.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1135,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBFetchFile.swift",
+ "kind": "StringLiteral",
+ "offset": 1452,
+ "length": 5,
+ "value": "\"uid\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBFetchFile.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1470,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBFetchFile.swift",
+ "kind": "StringLiteral",
+ "offset": 1510,
+ "length": 6,
+ "value": "\"name\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBFetchFile.swift",
+ "kind": "StringLiteral",
+ "offset": 1532,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBFetchFile.swift",
+ "kind": "StringLiteral",
+ "offset": 1573,
+ "length": 6,
+ "value": "\"size\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBFetchFile.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1592,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBFetchFile.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1880,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBFetchFile.swift",
+ "kind": "StringLiteral",
+ "offset": 1925,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBFetchFile.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1981,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBFetchFile.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2146,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBFetchFile.swift",
+ "kind": "StringLiteral",
+ "offset": 2191,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBFetchFile.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2247,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBFetchFile.swift",
+ "kind": "StringLiteral",
+ "offset": 2288,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBFetchFile.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2350,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBManufacturer.swift",
+ "kind": "IntegerLiteral",
+ "offset": 214,
+ "length": 2,
+ "value": "14"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBManufacturer.swift",
+ "kind": "IntegerLiteral",
+ "offset": 266,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBManufacturer.swift",
+ "kind": "IntegerLiteral",
+ "offset": 270,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBManufacturer.swift",
+ "kind": "StringLiteral",
+ "offset": 283,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBManufacturer.swift",
+ "kind": "StringLiteral",
+ "offset": 308,
+ "length": 4,
+ "value": "\"JH\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBManufacturer.swift",
+ "kind": "IntegerLiteral",
+ "offset": 363,
+ "length": 1,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBManufacturer.swift",
+ "kind": "IntegerLiteral",
+ "offset": 396,
+ "length": 1,
+ "value": "3"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBManufacturer.swift",
+ "kind": "IntegerLiteral",
+ "offset": 400,
+ "length": 1,
+ "value": "8"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBManufacturer.swift",
+ "kind": "StringLiteral",
+ "offset": 418,
+ "length": 3,
+ "value": "\":\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBManufacturer.swift",
+ "kind": "IntegerLiteral",
+ "offset": 449,
+ "length": 1,
+ "value": "9"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBManufacturer.swift",
+ "kind": "IntegerLiteral",
+ "offset": 481,
+ "length": 2,
+ "value": "10"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBManufacturer.swift",
+ "kind": "IntegerLiteral",
+ "offset": 520,
+ "length": 2,
+ "value": "11"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBManufacturer.swift",
+ "kind": "IntegerLiteral",
+ "offset": 525,
+ "length": 2,
+ "value": "14"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBManufacturer.swift",
+ "kind": "StringLiteral",
+ "offset": 544,
+ "length": 4,
+ "value": "\"%d\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBManufacturer.swift",
+ "kind": "StringLiteral",
+ "offset": 550,
+ "length": 3,
+ "value": "\".\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
+ "kind": "StringLiteral",
+ "offset": 605,
+ "length": 4,
+ "value": "\"ty\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
+ "kind": "StringLiteral",
+ "offset": 634,
+ "length": 4,
+ "value": "\"di\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
+ "kind": "StringLiteral",
+ "offset": 662,
+ "length": 4,
+ "value": "\"ca\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
+ "kind": "StringLiteral",
+ "offset": 687,
+ "length": 4,
+ "value": "\"tm\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
+ "kind": "StringLiteral",
+ "offset": 712,
+ "length": 4,
+ "value": "\"st\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
+ "kind": "StringLiteral",
+ "offset": 605,
+ "length": 4,
+ "value": "\"ty\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
+ "kind": "StringLiteral",
+ "offset": 634,
+ "length": 4,
+ "value": "\"di\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
+ "kind": "StringLiteral",
+ "offset": 662,
+ "length": 4,
+ "value": "\"ca\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
+ "kind": "StringLiteral",
+ "offset": 687,
+ "length": 4,
+ "value": "\"tm\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
+ "kind": "StringLiteral",
+ "offset": 712,
+ "length": 4,
+ "value": "\"st\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
+ "kind": "StringLiteral",
+ "offset": 769,
+ "length": 120,
+ "value": "\"IBTrainTarget(type: \""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
+ "kind": "StringLiteral",
+ "offset": 797,
+ "length": 1,
+ "value": "\", distance:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
+ "kind": "IntegerLiteral",
+ "offset": 822,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
+ "kind": "StringLiteral",
+ "offset": 824,
+ "length": 1,
+ "value": "\", calorie:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
+ "kind": "IntegerLiteral",
+ "offset": 847,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
+ "kind": "StringLiteral",
+ "offset": 849,
+ "length": 1,
+ "value": "\", time:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
+ "kind": "IntegerLiteral",
+ "offset": 866,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
+ "kind": "StringLiteral",
+ "offset": 868,
+ "length": 1,
+ "value": "\", step:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
+ "kind": "IntegerLiteral",
+ "offset": 885,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
+ "kind": "StringLiteral",
+ "offset": 887,
+ "length": 1,
+ "value": "\")\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
+ "kind": "IntegerLiteral",
+ "offset": 996,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1035,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1068,
+ "length": 1,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1101,
+ "length": 1,
+ "value": "4"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
+ "kind": "IntegerLiteral",
+ "offset": 996,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1035,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1068,
+ "length": 1,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1101,
+ "length": 1,
+ "value": "4"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
+ "kind": "IntegerLiteral",
+ "offset": 996,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1035,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1068,
+ "length": 1,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTrainTarget.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1101,
+ "length": 1,
+ "value": "4"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender+Mp3.swift",
+ "kind": "StringLiteral",
+ "offset": 992,
+ "length": 20,
+ "value": "\"读取文件失败\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender+Mp3.swift",
+ "kind": "StringLiteral",
+ "offset": 1139,
+ "length": 17,
+ "value": "\"已取消发送\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender+Mp3.swift",
+ "kind": "StringLiteral",
+ "offset": 1719,
+ "length": 23,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender+Mp3.swift",
+ "kind": "StringLiteral",
+ "offset": 1728,
+ "length": 1,
+ "value": "\" : \""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender+Mp3.swift",
+ "kind": "StringLiteral",
+ "offset": 1741,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender+Mp3.swift",
+ "kind": "StringLiteral",
+ "offset": 1950,
+ "length": 38,
+ "value": "\"发送文件超时,发送失败!\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender+Mp3.swift",
+ "kind": "StringLiteral",
+ "offset": 2191,
+ "length": 29,
+ "value": "\"文件内容发送结束...\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender+Mp3.swift",
+ "kind": "StringLiteral",
+ "offset": 2709,
+ "length": 29,
+ "value": "\"发送文件校验码失败\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBSender.swift",
+ "kind": "Array",
+ "offset": 351,
+ "length": 2,
+ "value": "[]"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBSender.swift",
+ "kind": "Array",
+ "offset": 465,
+ "length": 2,
+ "value": "[]"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBSender.swift",
+ "kind": "IntegerLiteral",
+ "offset": 639,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBSender.swift",
+ "kind": "IntegerLiteral",
+ "offset": 899,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBSender.swift",
+ "kind": "IntegerLiteral",
+ "offset": 964,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBSender.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1013,
+ "length": 4,
+ "value": "0x73"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBSender.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1191,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBSender.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1219,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBSender.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1315,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBSender.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1332,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBSender.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1457,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBSender.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1677,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBSender.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1726,
+ "length": 4,
+ "value": "0x73"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBSender.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1916,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBSender.swift",
+ "kind": "Array",
+ "offset": 2077,
+ "length": 6,
+ "value": "[0x00]"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBSender.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2302,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBSender.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2322,
+ "length": 3,
+ "value": "492"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBSender.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2464,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBSender.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2633,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBSender.swift",
+ "kind": "Array",
+ "offset": 3623,
+ "length": 2,
+ "value": "[]"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryGps.swift",
+ "kind": "Array",
+ "offset": 222,
+ "length": 2,
+ "value": "[]"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryGps.swift",
+ "kind": "Array",
+ "offset": 304,
+ "length": 2,
+ "value": "[]"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryGps.swift",
+ "kind": "IntegerLiteral",
+ "offset": 337,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryGps.swift",
+ "kind": "IntegerLiteral",
+ "offset": 360,
+ "length": 2,
+ "value": "12"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryGps.swift",
+ "kind": "IntegerLiteral",
+ "offset": 397,
+ "length": 2,
+ "value": "11"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryGps.swift",
+ "kind": "IntegerLiteral",
+ "offset": 489,
+ "length": 1,
+ "value": "3"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryGps.swift",
+ "kind": "IntegerLiteral",
+ "offset": 531,
+ "length": 1,
+ "value": "4"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryGps.swift",
+ "kind": "IntegerLiteral",
+ "offset": 537,
+ "length": 1,
+ "value": "7"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryGps.swift",
+ "kind": "IntegerLiteral",
+ "offset": 579,
+ "length": 1,
+ "value": "8"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryGps.swift",
+ "kind": "IntegerLiteral",
+ "offset": 585,
+ "length": 2,
+ "value": "11"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryGps.swift",
+ "kind": "IntegerLiteral",
+ "offset": 816,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryGps.swift",
+ "kind": "IntegerLiteral",
+ "offset": 903,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryGps.swift",
+ "kind": "IntegerLiteral",
+ "offset": 990,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBurning.swift",
+ "kind": "Array",
+ "offset": 209,
+ "length": 2,
+ "value": "[]"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBurning.swift",
+ "kind": "Array",
+ "offset": 295,
+ "length": 2,
+ "value": "[]"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBurning.swift",
+ "kind": "IntegerLiteral",
+ "offset": 328,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBurning.swift",
+ "kind": "IntegerLiteral",
+ "offset": 351,
+ "length": 1,
+ "value": "6"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBurning.swift",
+ "kind": "IntegerLiteral",
+ "offset": 387,
+ "length": 1,
+ "value": "5"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBurning.swift",
+ "kind": "IntegerLiteral",
+ "offset": 482,
+ "length": 1,
+ "value": "3"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBurning.swift",
+ "kind": "IntegerLiteral",
+ "offset": 526,
+ "length": 1,
+ "value": "4"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBurning.swift",
+ "kind": "IntegerLiteral",
+ "offset": 532,
+ "length": 1,
+ "value": "5"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBurning.swift",
+ "kind": "IntegerLiteral",
+ "offset": 745,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryBurning.swift",
+ "kind": "IntegerLiteral",
+ "offset": 796,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/CRC16.swift",
+ "kind": "Array",
+ "offset": 306,
+ "length": 6,
+ "value": "[0, 0]"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/CRC16.swift",
+ "kind": "IntegerLiteral",
+ "offset": 335,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/CRC16.swift",
+ "kind": "IntegerLiteral",
+ "offset": 339,
+ "length": 1,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/CRC16.swift",
+ "kind": "IntegerLiteral",
+ "offset": 402,
+ "length": 3,
+ "value": "256"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/CRC16.swift",
+ "kind": "IntegerLiteral",
+ "offset": 432,
+ "length": 1,
+ "value": "8"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/CRC16.swift",
+ "kind": "IntegerLiteral",
+ "offset": 562,
+ "length": 6,
+ "value": "0xffff"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/CRC16.swift",
+ "kind": "IntegerLiteral",
+ "offset": 599,
+ "length": 6,
+ "value": "0xa001"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/CRC16.swift",
+ "kind": "IntegerLiteral",
+ "offset": 669,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/CRC16.swift",
+ "kind": "IntegerLiteral",
+ "offset": 743,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/CRC16.swift",
+ "kind": "IntegerLiteral",
+ "offset": 747,
+ "length": 1,
+ "value": "8"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/CRC16.swift",
+ "kind": "IntegerLiteral",
+ "offset": 780,
+ "length": 6,
+ "value": "0x0001"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/CRC16.swift",
+ "kind": "IntegerLiteral",
+ "offset": 791,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/CRC16.swift",
+ "kind": "IntegerLiteral",
+ "offset": 827,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/CRC16.swift",
+ "kind": "IntegerLiteral",
+ "offset": 924,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
+ "kind": "IntegerLiteral",
+ "offset": 258,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
+ "kind": "IntegerLiteral",
+ "offset": 352,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
+ "kind": "IntegerLiteral",
+ "offset": 422,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
+ "kind": "IntegerLiteral",
+ "offset": 503,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
+ "kind": "IntegerLiteral",
+ "offset": 514,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
+ "kind": "IntegerLiteral",
+ "offset": 639,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
+ "kind": "IntegerLiteral",
+ "offset": 650,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
+ "kind": "StringLiteral",
+ "offset": 852,
+ "length": 177,
+ "value": "\"IBWater(alertState: \""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
+ "kind": "StringLiteral",
+ "offset": 886,
+ "length": 1,
+ "value": "\", alertType:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
+ "kind": "StringLiteral",
+ "offset": 910,
+ "length": 1,
+ "value": "\", drinkingValue:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
+ "kind": "StringLiteral",
+ "offset": 942,
+ "length": 1,
+ "value": "\", start:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
+ "kind": "StringLiteral",
+ "offset": 970,
+ "length": 1,
+ "value": "\", end:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
+ "kind": "StringLiteral",
+ "offset": 994,
+ "length": 1,
+ "value": "\", frequency:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
+ "kind": "StringLiteral",
+ "offset": 1027,
+ "length": 1,
+ "value": "\")\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1122,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1149,
+ "length": 5,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1180,
+ "length": 5,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1211,
+ "length": 5,
+ "value": "3"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1247,
+ "length": 4,
+ "value": "4"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1122,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1149,
+ "length": 5,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1180,
+ "length": 5,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1211,
+ "length": 5,
+ "value": "3"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1247,
+ "length": 4,
+ "value": "4"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1122,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1149,
+ "length": 5,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1180,
+ "length": 5,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1211,
+ "length": 5,
+ "value": "3"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWater.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1247,
+ "length": 4,
+ "value": "4"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 249,
+ "length": 3,
+ "value": "0x0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "StringLiteral",
+ "offset": 1649,
+ "length": 81,
+ "value": "\"[\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "StringLiteral",
+ "offset": 1668,
+ "length": 16,
+ "value": "\"0x%02X, 0x%02X\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "StringLiteral",
+ "offset": 1705,
+ "length": 1,
+ "value": "\"] \""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "StringLiteral",
+ "offset": 1729,
+ "length": 3,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1821,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1858,
+ "length": 1,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2035,
+ "length": 4,
+ "value": "0x01"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2082,
+ "length": 4,
+ "value": "0x02"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2182,
+ "length": 4,
+ "value": "0x04"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2226,
+ "length": 4,
+ "value": "0x05"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2035,
+ "length": 4,
+ "value": "0x01"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2082,
+ "length": 4,
+ "value": "0x02"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2182,
+ "length": 4,
+ "value": "0x04"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2226,
+ "length": 4,
+ "value": "0x05"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2035,
+ "length": 4,
+ "value": "0x01"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2082,
+ "length": 4,
+ "value": "0x02"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2182,
+ "length": 4,
+ "value": "0x04"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2226,
+ "length": 4,
+ "value": "0x05"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2389,
+ "length": 4,
+ "value": "0x01"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2530,
+ "length": 4,
+ "value": "0x03"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2684,
+ "length": 4,
+ "value": "0x02"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2884,
+ "length": 4,
+ "value": "0x1B"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 3108,
+ "length": 4,
+ "value": "0x17"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 3306,
+ "length": 4,
+ "value": "0x04"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 3537,
+ "length": 4,
+ "value": "0x08"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 3740,
+ "length": 4,
+ "value": "0x0A"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 3881,
+ "length": 4,
+ "value": "0x0B"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4071,
+ "length": 4,
+ "value": "0x14"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4305,
+ "length": 4,
+ "value": "0x16"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4490,
+ "length": 4,
+ "value": "0x0E"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4724,
+ "length": 4,
+ "value": "0x1E"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4895,
+ "length": 4,
+ "value": "0x12"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5134,
+ "length": 4,
+ "value": "0x1F"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5311,
+ "length": 4,
+ "value": "0x13"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5567,
+ "length": 4,
+ "value": "0x0F"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5807,
+ "length": 4,
+ "value": "0x11"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 6123,
+ "length": 4,
+ "value": "0x15"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 6363,
+ "length": 4,
+ "value": "0x23"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 6506,
+ "length": 4,
+ "value": "0x25"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 6610,
+ "length": 4,
+ "value": "0x26"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 6710,
+ "length": 4,
+ "value": "0x27"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 6900,
+ "length": 4,
+ "value": "0x07"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 7093,
+ "length": 4,
+ "value": "0x01"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 7245,
+ "length": 4,
+ "value": "0x21"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 7459,
+ "length": 4,
+ "value": "0x2A"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 7747,
+ "length": 4,
+ "value": "0x0D"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 8079,
+ "length": 4,
+ "value": "0x19"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 8278,
+ "length": 4,
+ "value": "0x1A"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 8435,
+ "length": 4,
+ "value": "0x0E"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 8682,
+ "length": 4,
+ "value": "0x1C"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 8877,
+ "length": 4,
+ "value": "0x0F"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 9093,
+ "length": 4,
+ "value": "0x11"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 9330,
+ "length": 4,
+ "value": "0x1D"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 9541,
+ "length": 4,
+ "value": "0x2B"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 9711,
+ "length": 4,
+ "value": "0x16"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 9951,
+ "length": 4,
+ "value": "0x2C"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 10124,
+ "length": 4,
+ "value": "0x17"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 10347,
+ "length": 4,
+ "value": "0x29"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 10490,
+ "length": 4,
+ "value": "0x15"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 10767,
+ "length": 4,
+ "value": "0x24"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 10916,
+ "length": 4,
+ "value": "0x14"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 11147,
+ "length": 4,
+ "value": "0x28"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 11346,
+ "length": 4,
+ "value": "0x04"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 11794,
+ "length": 4,
+ "value": "0x40"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 12218,
+ "length": 4,
+ "value": "0x41"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 12629,
+ "length": 4,
+ "value": "0x43"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 13049,
+ "length": 4,
+ "value": "0x44"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 13459,
+ "length": 4,
+ "value": "0x45"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 13874,
+ "length": 4,
+ "value": "0x46"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 14290,
+ "length": 4,
+ "value": "0x47"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 14714,
+ "length": 4,
+ "value": "0x49"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 15122,
+ "length": 4,
+ "value": "0x4B"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 15406,
+ "length": 4,
+ "value": "0x4F"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 15564,
+ "length": 4,
+ "value": "0x2E"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 15742,
+ "length": 4,
+ "value": "0x05"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 16096,
+ "length": 4,
+ "value": "0x10"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 16291,
+ "length": 4,
+ "value": "0x02"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 16439,
+ "length": 4,
+ "value": "0x10"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 16565,
+ "length": 4,
+ "value": "0x2D"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 16726,
+ "length": 4,
+ "value": "0x20"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 16951,
+ "length": 4,
+ "value": "0x0B"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 17165,
+ "length": 4,
+ "value": "0x21"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 17579,
+ "length": 4,
+ "value": "0x22"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 17788,
+ "length": 4,
+ "value": "0x24"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 17978,
+ "length": 4,
+ "value": "0x23"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 18173,
+ "length": 4,
+ "value": "0x22"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 18407,
+ "length": 4,
+ "value": "0x22"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 18587,
+ "length": 4,
+ "value": "0x20"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 18774,
+ "length": 4,
+ "value": "0x28"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 18966,
+ "length": 4,
+ "value": "0x20"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 19267,
+ "length": 4,
+ "value": "0x21"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 19518,
+ "length": 4,
+ "value": "0x06"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 19753,
+ "length": 4,
+ "value": "0x05"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 20014,
+ "length": 4,
+ "value": "0x34"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAbility.swift",
+ "kind": "IntegerLiteral",
+ "offset": 20196,
+ "length": 4,
+ "value": "0x1f"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
+ "kind": "IntegerLiteral",
+ "offset": 249,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
+ "kind": "StringLiteral",
+ "offset": 607,
+ "length": 31,
+ "value": "\"IBScreenConfig(type: \""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
+ "kind": "StringLiteral",
+ "offset": 636,
+ "length": 1,
+ "value": "\",\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
+ "kind": "StringLiteral",
+ "offset": 698,
+ "length": 29,
+ "value": "\"brightness: \""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
+ "kind": "StringLiteral",
+ "offset": 725,
+ "length": 1,
+ "value": "\")\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
+ "kind": "StringLiteral",
+ "offset": 794,
+ "length": 24,
+ "value": "\"duration: \""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
+ "kind": "StringLiteral",
+ "offset": 817,
+ "length": 1,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
+ "kind": "StringLiteral",
+ "offset": 879,
+ "length": 19,
+ "value": "\"wrist: \""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
+ "kind": "StringLiteral",
+ "offset": 896,
+ "length": 1,
+ "value": "\")\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1035,
+ "length": 2,
+ "value": "10"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1188,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1273,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1325,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1366,
+ "length": 1,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
+ "kind": "StringLiteral",
+ "offset": 1425,
+ "length": 75,
+ "value": "\"IBScreen(brightness: \""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
+ "kind": "StringLiteral",
+ "offset": 1460,
+ "length": 1,
+ "value": "\", duration:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
+ "kind": "StringLiteral",
+ "offset": 1482,
+ "length": 1,
+ "value": "\", wrist:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
+ "kind": "StringLiteral",
+ "offset": 1498,
+ "length": 1,
+ "value": "\")\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1573,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1599,
+ "length": 8,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1632,
+ "length": 8,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1665,
+ "length": 8,
+ "value": "3"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1700,
+ "length": 6,
+ "value": "4"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1733,
+ "length": 7,
+ "value": "5"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1573,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1599,
+ "length": 8,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1632,
+ "length": 8,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1665,
+ "length": 8,
+ "value": "3"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1700,
+ "length": 6,
+ "value": "4"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1733,
+ "length": 7,
+ "value": "5"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1573,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1599,
+ "length": 8,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1632,
+ "length": 8,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1665,
+ "length": 8,
+ "value": "3"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1700,
+ "length": 6,
+ "value": "4"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBScreen.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1733,
+ "length": 7,
+ "value": "5"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSendTime.swift",
+ "kind": "IntegerLiteral",
+ "offset": 207,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSendTime.swift",
+ "kind": "IntegerLiteral",
+ "offset": 264,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSendTime.swift",
+ "kind": "IntegerLiteral",
+ "offset": 326,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSendTime.swift",
+ "kind": "IntegerLiteral",
+ "offset": 369,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSendTime.swift",
+ "kind": "IntegerLiteral",
+ "offset": 410,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSendTime.swift",
+ "kind": "IntegerLiteral",
+ "offset": 452,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSendTime.swift",
+ "kind": "IntegerLiteral",
+ "offset": 496,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSendTime.swift",
+ "kind": "IntegerLiteral",
+ "offset": 540,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/IBTools.swift",
+ "kind": "StringLiteral",
+ "offset": 210,
+ "length": 10,
+ "value": "\"temp.pcm\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTargetStep.swift",
+ "kind": "IntegerLiteral",
+ "offset": 206,
+ "length": 4,
+ "value": "5000"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTargetStep.swift",
+ "kind": "IntegerLiteral",
+ "offset": 285,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTargetStep.swift",
+ "kind": "IntegerLiteral",
+ "offset": 364,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTargetStep.swift",
+ "kind": "IntegerLiteral",
+ "offset": 442,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTargetStep.swift",
+ "kind": "IntegerLiteral",
+ "offset": 503,
+ "length": 1,
+ "value": "7"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTargetStep.swift",
+ "kind": "IntegerLiteral",
+ "offset": 546,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTargetStep.swift",
+ "kind": "IntegerLiteral",
+ "offset": 550,
+ "length": 1,
+ "value": "3"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTargetStep.swift",
+ "kind": "IntegerLiteral",
+ "offset": 577,
+ "length": 1,
+ "value": "4"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTargetStep.swift",
+ "kind": "IntegerLiteral",
+ "offset": 607,
+ "length": 1,
+ "value": "5"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTargetStep.swift",
+ "kind": "IntegerLiteral",
+ "offset": 636,
+ "length": 1,
+ "value": "6"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTargetStep.swift",
+ "kind": "StringLiteral",
+ "offset": 700,
+ "length": 84,
+ "value": "\"IBTargetStep(value: \""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTargetStep.swift",
+ "kind": "StringLiteral",
+ "offset": 729,
+ "length": 1,
+ "value": "\", ring:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTargetStep.swift",
+ "kind": "StringLiteral",
+ "offset": 743,
+ "length": 1,
+ "value": "\", vibrate: \""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTargetStep.swift",
+ "kind": "StringLiteral",
+ "offset": 764,
+ "length": 1,
+ "value": "\", notice:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBTargetStep.swift",
+ "kind": "StringLiteral",
+ "offset": 782,
+ "length": 1,
+ "value": "\")\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender.swift",
+ "kind": "Array",
+ "offset": 459,
+ "length": 2,
+ "value": "[]"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender.swift",
+ "kind": "IntegerLiteral",
+ "offset": 476,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender.swift",
+ "kind": "IntegerLiteral",
+ "offset": 547,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender.swift",
+ "kind": "Array",
+ "offset": 981,
+ "length": 2,
+ "value": "[]"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1004,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1028,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender.swift",
+ "kind": "BooleanLiteral",
+ "offset": 1061,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender.swift",
+ "kind": "StringLiteral",
+ "offset": 1204,
+ "length": 21,
+ "value": "\"deinit IBFileSender\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender.swift",
+ "kind": "StringLiteral",
+ "offset": 1342,
+ "length": 26,
+ "value": "\"手表接收文件成功\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender.swift",
+ "kind": "StringLiteral",
+ "offset": 1479,
+ "length": 26,
+ "value": "\"手表接收文件失败\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2708,
+ "length": 3,
+ "value": "495"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2778,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2899,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2999,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4292,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4316,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4333,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5116,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender.swift",
+ "kind": "StringLiteral",
+ "offset": 5172,
+ "length": 35,
+ "value": "\"当前有文件正在传输中...\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender.swift",
+ "kind": "BooleanLiteral",
+ "offset": 5528,
+ "length": 4,
+ "value": "true"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender.swift",
+ "kind": "Array",
+ "offset": 5829,
+ "length": 2,
+ "value": "[]"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender.swift",
+ "kind": "FloatLiteral",
+ "offset": 6073,
+ "length": 4,
+ "value": "10.0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender.swift",
+ "kind": "BooleanLiteral",
+ "offset": 6088,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender.swift",
+ "kind": "StringLiteral",
+ "offset": 6211,
+ "length": 20,
+ "value": "\"发送文件失败\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender.swift",
+ "kind": "StringLiteral",
+ "offset": 6290,
+ "length": 29,
+ "value": "\"IBFileSender创建定时器\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender.swift",
+ "kind": "StringLiteral",
+ "offset": 6492,
+ "length": 29,
+ "value": "\"IBFileSender销毁定时器\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWatchInfo.swift",
+ "kind": "IntegerLiteral",
+ "offset": 198,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWatchInfo.swift",
+ "kind": "IntegerLiteral",
+ "offset": 227,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWatchInfo.swift",
+ "kind": "IntegerLiteral",
+ "offset": 231,
+ "length": 1,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWatchInfo.swift",
+ "kind": "IntegerLiteral",
+ "offset": 269,
+ "length": 1,
+ "value": "3"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWatchInfo.swift",
+ "kind": "IntegerLiteral",
+ "offset": 273,
+ "length": 1,
+ "value": "5"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWatchInfo.swift",
+ "kind": "StringLiteral",
+ "offset": 291,
+ "length": 4,
+ "value": "\"%d\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWatchInfo.swift",
+ "kind": "StringLiteral",
+ "offset": 297,
+ "length": 3,
+ "value": "\".\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWatchInfo.swift",
+ "kind": "IntegerLiteral",
+ "offset": 328,
+ "length": 1,
+ "value": "6"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWatchInfo.swift",
+ "kind": "IntegerLiteral",
+ "offset": 332,
+ "length": 2,
+ "value": "11"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWatchInfo.swift",
+ "kind": "StringLiteral",
+ "offset": 343,
+ "length": 3,
+ "value": "\":\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWatchInfo.swift",
+ "kind": "IntegerLiteral",
+ "offset": 375,
+ "length": 2,
+ "value": "12"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWatchInfo.swift",
+ "kind": "IntegerLiteral",
+ "offset": 404,
+ "length": 2,
+ "value": "13"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWatchInfo.swift",
+ "kind": "IntegerLiteral",
+ "offset": 438,
+ "length": 2,
+ "value": "14"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWatchInfo.swift",
+ "kind": "IntegerLiteral",
+ "offset": 471,
+ "length": 2,
+ "value": "15"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWatchInfo.swift",
+ "kind": "IntegerLiteral",
+ "offset": 510,
+ "length": 2,
+ "value": "16"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWatchInfo.swift",
+ "kind": "IntegerLiteral",
+ "offset": 515,
+ "length": 2,
+ "value": "17"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWatchInfo.swift",
+ "kind": "StringLiteral",
+ "offset": 534,
+ "length": 4,
+ "value": "\"%d\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWatchInfo.swift",
+ "kind": "StringLiteral",
+ "offset": 540,
+ "length": 3,
+ "value": "\".\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWatchInfo.swift",
+ "kind": "IntegerLiteral",
+ "offset": 577,
+ "length": 2,
+ "value": "18"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWatchInfo.swift",
+ "kind": "IntegerLiteral",
+ "offset": 582,
+ "length": 2,
+ "value": "19"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWatchInfo.swift",
+ "kind": "StringLiteral",
+ "offset": 601,
+ "length": 4,
+ "value": "\"%d\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWatchInfo.swift",
+ "kind": "StringLiteral",
+ "offset": 607,
+ "length": 3,
+ "value": "\".\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/IBPeripheralUUID.swift",
+ "kind": "BooleanLiteral",
+ "offset": 413,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryCalorie.swift",
+ "kind": "Array",
+ "offset": 212,
+ "length": 2,
+ "value": "[]"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryCalorie.swift",
+ "kind": "Array",
+ "offset": 298,
+ "length": 2,
+ "value": "[]"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryCalorie.swift",
+ "kind": "IntegerLiteral",
+ "offset": 331,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryCalorie.swift",
+ "kind": "IntegerLiteral",
+ "offset": 354,
+ "length": 1,
+ "value": "8"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryCalorie.swift",
+ "kind": "IntegerLiteral",
+ "offset": 390,
+ "length": 1,
+ "value": "7"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryCalorie.swift",
+ "kind": "IntegerLiteral",
+ "offset": 485,
+ "length": 1,
+ "value": "3"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryCalorie.swift",
+ "kind": "IntegerLiteral",
+ "offset": 529,
+ "length": 1,
+ "value": "4"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryCalorie.swift",
+ "kind": "IntegerLiteral",
+ "offset": 535,
+ "length": 1,
+ "value": "7"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryCalorie.swift",
+ "kind": "IntegerLiteral",
+ "offset": 753,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryCalorie.swift",
+ "kind": "IntegerLiteral",
+ "offset": 804,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBMp3.swift",
+ "kind": "StringLiteral",
+ "offset": 210,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBMp3.swift",
+ "kind": "StringLiteral",
+ "offset": 264,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBMp3.swift",
+ "kind": "IntegerLiteral",
+ "offset": 330,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBMp3.swift",
+ "kind": "StringLiteral",
+ "offset": 461,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBMp3.swift",
+ "kind": "IntegerLiteral",
+ "offset": 515,
+ "length": 1,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBMp3.swift",
+ "kind": "IntegerLiteral",
+ "offset": 571,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBManager.swift",
+ "kind": "StringLiteral",
+ "offset": 897,
+ "length": 8,
+ "value": "\"1.0.23\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBManager.swift",
+ "kind": "BooleanLiteral",
+ "offset": 961,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "kind": "StringLiteral",
+ "offset": 221,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "kind": "BooleanLiteral",
+ "offset": 273,
+ "length": 4,
+ "value": "true"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "kind": "Array",
+ "offset": 451,
+ "length": 43,
+ "value": "[\"文心一言\", \"ChatGPT\", \"KIMI\", \":豆包\"]"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "kind": "StringLiteral",
+ "offset": 514,
+ "length": 29,
+ "value": "\"询问模型是否可用:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "kind": "BooleanLiteral",
+ "offset": 612,
+ "length": 4,
+ "value": "true"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "kind": "IntegerLiteral",
+ "offset": 636,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "kind": "StringLiteral",
+ "offset": 664,
+ "length": 58,
+ "value": "\"sk-proj-04ogvrZQqyaiv1OWw8OZT3BlbkFJG9Gyr8oFvRdmr3oXQNbX\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "kind": "Array",
+ "offset": 1043,
+ "length": 43,
+ "value": "[\"文心一言\", \"ChatGPT\", \"KIMI\", \":豆包\"]"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "kind": "StringLiteral",
+ "offset": 1106,
+ "length": 17,
+ "value": "\"使用模型:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1227,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "kind": "StringLiteral",
+ "offset": 1398,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1420,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1488,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "kind": "StringLiteral",
+ "offset": 1542,
+ "length": 58,
+ "value": "\"sk-proj-04ogvrZQqyaiv1OWw8OZT3BlbkFJG9Gyr8oFvRdmr3oXQNbX\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1743,
+ "length": 1,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1810,
+ "length": 1,
+ "value": "3"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "kind": "Array",
+ "offset": 2028,
+ "length": 2,
+ "value": "[]"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2407,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2648,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "kind": "StringLiteral",
+ "offset": 2674,
+ "length": 15,
+ "value": "\"sbc2pcm失败\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2755,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "kind": "StringLiteral",
+ "offset": 2967,
+ "length": 5,
+ "value": "\"pcm\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "kind": "StringLiteral",
+ "offset": 2985,
+ "length": 7,
+ "value": "\"16000\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "kind": "StringLiteral",
+ "offset": 2999,
+ "length": 7,
+ "value": "\"zh-cn\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "kind": "IntegerLiteral",
+ "offset": 3128,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "kind": "IntegerLiteral",
+ "offset": 3236,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "kind": "StringLiteral",
+ "offset": 3453,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "kind": "IntegerLiteral",
+ "offset": 3529,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "kind": "StringLiteral",
+ "offset": 3787,
+ "length": 40,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "kind": "StringLiteral",
+ "offset": 3801,
+ "length": 1,
+ "value": "\" : \""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "kind": "StringLiteral",
+ "offset": 3823,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "kind": "StringLiteral",
+ "offset": 3826,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "kind": "StringLiteral",
+ "offset": 3871,
+ "length": 7,
+ "value": "\"start\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "kind": "StringLiteral",
+ "offset": 3905,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "kind": "StringLiteral",
+ "offset": 3956,
+ "length": 5,
+ "value": "\"end\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "kind": "StringLiteral",
+ "offset": 4170,
+ "length": 8,
+ "value": "\"middle\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4297,
+ "length": 1,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "kind": "StringLiteral",
+ "offset": 4345,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "kind": "BooleanLiteral",
+ "offset": 4742,
+ "length": 4,
+ "value": "true"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "kind": "StringLiteral",
+ "offset": 4765,
+ "length": 32,
+ "value": "\"aWGKrBWaijsKD5eEsVVU5rjWPI1sVy\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "kind": "BooleanLiteral",
+ "offset": 4936,
+ "length": 4,
+ "value": "true"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "kind": "StringLiteral",
+ "offset": 4964,
+ "length": 14,
+ "value": "\"281106AFB0F7\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "kind": "StringLiteral",
+ "offset": 5004,
+ "length": 34,
+ "value": "\"HHosiYUNdG42t1cTgKOzIUPOvAVMI2QT\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "kind": "IntegerLiteral",
+ "offset": 5277,
+ "length": 5,
+ "value": "50021"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "kind": "StringLiteral",
+ "offset": 5564,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "kind": "StringLiteral",
+ "offset": 5655,
+ "length": 14,
+ "value": "\"281106AFB0F7\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "kind": "StringLiteral",
+ "offset": 5694,
+ "length": 22,
+ "value": "\"pafOCKLiUbeVHbdZlddH\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBAiManager.swift",
+ "kind": "StringLiteral",
+ "offset": 5742,
+ "length": 34,
+ "value": "\"HHosiYUNdG42t1cTgKOzIUPOvAVMI2QT\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender+Ota.swift",
+ "kind": "StringLiteral",
+ "offset": 987,
+ "length": 20,
+ "value": "\"读取文件失败\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender+Ota.swift",
+ "kind": "StringLiteral",
+ "offset": 1134,
+ "length": 17,
+ "value": "\"已取消发送\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender+Ota.swift",
+ "kind": "StringLiteral",
+ "offset": 1714,
+ "length": 23,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender+Ota.swift",
+ "kind": "StringLiteral",
+ "offset": 1723,
+ "length": 1,
+ "value": "\" : \""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender+Ota.swift",
+ "kind": "StringLiteral",
+ "offset": 1736,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender+Ota.swift",
+ "kind": "StringLiteral",
+ "offset": 1945,
+ "length": 38,
+ "value": "\"发送文件超时,发送失败!\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender+Ota.swift",
+ "kind": "StringLiteral",
+ "offset": 2186,
+ "length": 29,
+ "value": "\"文件内容发送结束...\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBFileSender+Ota.swift",
+ "kind": "StringLiteral",
+ "offset": 2704,
+ "length": 29,
+ "value": "\"发送文件校验码失败\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPhoneInfo.swift",
+ "kind": "StringLiteral",
+ "offset": 212,
+ "length": 8,
+ "value": "\"iphone\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPhoneInfo.swift",
+ "kind": "IntegerLiteral",
+ "offset": 291,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPhoneInfo.swift",
+ "kind": "StringLiteral",
+ "offset": 479,
+ "length": 4,
+ "value": "\"pn\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPhoneInfo.swift",
+ "kind": "StringLiteral",
+ "offset": 504,
+ "length": 4,
+ "value": "\"tp\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPhoneInfo.swift",
+ "kind": "StringLiteral",
+ "offset": 528,
+ "length": 5,
+ "value": "\"mac\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPhoneInfo.swift",
+ "kind": "StringLiteral",
+ "offset": 479,
+ "length": 4,
+ "value": "\"pn\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPhoneInfo.swift",
+ "kind": "StringLiteral",
+ "offset": 504,
+ "length": 4,
+ "value": "\"tp\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPhoneInfo.swift",
+ "kind": "StringLiteral",
+ "offset": 528,
+ "length": 5,
+ "value": "\"mac\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBPairling.swift",
+ "kind": "IntegerLiteral",
+ "offset": 190,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBPairling.swift",
+ "kind": "IntegerLiteral",
+ "offset": 196,
+ "length": 4,
+ "value": "0x05"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBPairling.swift",
+ "kind": "IntegerLiteral",
+ "offset": 215,
+ "length": 1,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBPairling.swift",
+ "kind": "IntegerLiteral",
+ "offset": 221,
+ "length": 4,
+ "value": "0x11"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBPairling.swift",
+ "kind": "IntegerLiteral",
+ "offset": 316,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBPairling.swift",
+ "kind": "Array",
+ "offset": 346,
+ "length": 67,
+ "value": "[\"拒绝配对\", \"确认配对\", \"确认解绑其他手机\", \"其他\"]"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBPairling.swift",
+ "kind": "StringLiteral",
+ "offset": 437,
+ "length": 29,
+ "value": "\"收到确认配对消息:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBPairling.swift",
+ "kind": "BooleanLiteral",
+ "offset": 498,
+ "length": 4,
+ "value": "true"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBPairling.swift",
+ "kind": "IntegerLiteral",
+ "offset": 535,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBPairling.swift",
+ "kind": "IntegerLiteral",
+ "offset": 541,
+ "length": 4,
+ "value": "0x05"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBPairling.swift",
+ "kind": "IntegerLiteral",
+ "offset": 560,
+ "length": 1,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBPairling.swift",
+ "kind": "IntegerLiteral",
+ "offset": 566,
+ "length": 3,
+ "value": "0x1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBPairling.swift",
+ "kind": "IntegerLiteral",
+ "offset": 681,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBPairling.swift",
+ "kind": "Array",
+ "offset": 711,
+ "length": 31,
+ "value": "[\"拒绝解绑\", \"确认解绑\"]"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBPairling.swift",
+ "kind": "StringLiteral",
+ "offset": 766,
+ "length": 27,
+ "value": "\"收到确认解绑消息 \""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBPairling.swift",
+ "kind": "BooleanLiteral",
+ "offset": 825,
+ "length": 4,
+ "value": "true"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBPairling.swift",
+ "kind": "IntegerLiteral",
+ "offset": 862,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBPairling.swift",
+ "kind": "IntegerLiteral",
+ "offset": 868,
+ "length": 4,
+ "value": "0x05"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBPairling.swift",
+ "kind": "IntegerLiteral",
+ "offset": 887,
+ "length": 1,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBPairling.swift",
+ "kind": "IntegerLiteral",
+ "offset": 893,
+ "length": 4,
+ "value": "0x10"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBPairling.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1015,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBPairling.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1045,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBPairling.swift",
+ "kind": "StringLiteral",
+ "offset": 1148,
+ "length": 17,
+ "value": "\"IOTBletooth.mac\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBPairling.swift",
+ "kind": "StringLiteral",
+ "offset": 1263,
+ "length": 26,
+ "value": "\"收到配对成功消息\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBPairling.swift",
+ "kind": "StringLiteral",
+ "offset": 1425,
+ "length": 26,
+ "value": "\"收到配对失败消息\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBPairling.swift",
+ "kind": "BooleanLiteral",
+ "offset": 1496,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBPairling.swift",
+ "kind": "BooleanLiteral",
+ "offset": 1597,
+ "length": 4,
+ "value": "true"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBPairling.swift",
+ "kind": "BooleanLiteral",
+ "offset": 1627,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBPairling.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1830,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBPairling.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1865,
+ "length": 4,
+ "value": "2000"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBPairling.swift",
+ "kind": "BooleanLiteral",
+ "offset": 2258,
+ "length": 4,
+ "value": "true"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "kind": "Array",
+ "offset": 203,
+ "length": 2,
+ "value": "[]"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "kind": "IntegerLiteral",
+ "offset": 265,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "kind": "Array",
+ "offset": 345,
+ "length": 2,
+ "value": "[]"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "kind": "IntegerLiteral",
+ "offset": 373,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "kind": "IntegerLiteral",
+ "offset": 429,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "kind": "IntegerLiteral",
+ "offset": 469,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "kind": "IntegerLiteral",
+ "offset": 488,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "kind": "IntegerLiteral",
+ "offset": 543,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "kind": "IntegerLiteral",
+ "offset": 599,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "kind": "IntegerLiteral",
+ "offset": 712,
+ "length": 1,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "kind": "IntegerLiteral",
+ "offset": 724,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "kind": "IntegerLiteral",
+ "offset": 844,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "kind": "IntegerLiteral",
+ "offset": 892,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "kind": "IntegerLiteral",
+ "offset": 945,
+ "length": 1,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "kind": "IntegerLiteral",
+ "offset": 949,
+ "length": 1,
+ "value": "5"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1000,
+ "length": 1,
+ "value": "6"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1004,
+ "length": 1,
+ "value": "9"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1076,
+ "length": 2,
+ "value": "10"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1102,
+ "length": 2,
+ "value": "11"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1147,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1219,
+ "length": 2,
+ "value": "12"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1245,
+ "length": 2,
+ "value": "13"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1323,
+ "length": 2,
+ "value": "14"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1349,
+ "length": 2,
+ "value": "15"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1425,
+ "length": 2,
+ "value": "16"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1451,
+ "length": 2,
+ "value": "17"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1524,
+ "length": 2,
+ "value": "18"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1550,
+ "length": 2,
+ "value": "19"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1623,
+ "length": 2,
+ "value": "20"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "kind": "Array",
+ "offset": 1676,
+ "length": 2,
+ "value": "[]"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1738,
+ "length": 1,
+ "value": "5"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1829,
+ "length": 1,
+ "value": "3"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1862,
+ "length": 1,
+ "value": "4"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1967,
+ "length": 1,
+ "value": "5"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2148,
+ "length": 1,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2352,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2464,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2538,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2610,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2689,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2700,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "kind": "StringLiteral",
+ "offset": 3309,
+ "length": 45,
+ "value": "\"IBSleepTime(hour: \""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "kind": "StringLiteral",
+ "offset": 3335,
+ "length": 1,
+ "value": "\", minute:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "kind": "StringLiteral",
+ "offset": 3353,
+ "length": 1,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "kind": "IntegerLiteral",
+ "offset": 3460,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistorySleep.swift",
+ "kind": "IntegerLiteral",
+ "offset": 3843,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAiResponse.swift",
+ "kind": "IntegerLiteral",
+ "offset": 318,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAiResponse.swift",
+ "kind": "StringLiteral",
+ "offset": 367,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAiResponse.swift",
+ "kind": "StringLiteral",
+ "offset": 455,
+ "length": 45,
+ "value": "\"IBAiResponse(type: \""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAiResponse.swift",
+ "kind": "StringLiteral",
+ "offset": 482,
+ "length": 1,
+ "value": "\", value:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBAiResponse.swift",
+ "kind": "StringLiteral",
+ "offset": 498,
+ "length": 1,
+ "value": "\")\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBClock.swift",
+ "kind": "Array",
+ "offset": 212,
+ "length": 2,
+ "value": "[]"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBClock.swift",
+ "kind": "IntegerLiteral",
+ "offset": 685,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBClock.swift",
+ "kind": "IntegerLiteral",
+ "offset": 729,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBClock.swift",
+ "kind": "IntegerLiteral",
+ "offset": 775,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBClock.swift",
+ "kind": "IntegerLiteral",
+ "offset": 844,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBClock.swift",
+ "kind": "Array",
+ "offset": 1022,
+ "length": 3,
+ "value": "[0]"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/JSON.swift",
+ "kind": "StringLiteral",
+ "offset": 321,
+ "length": 22,
+ "value": "\"无效的 JSONObject\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/JSON.swift",
+ "kind": "StringLiteral",
+ "offset": 735,
+ "length": 22,
+ "value": "\"无效的 JSONObject\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHeartRate.swift",
+ "kind": "IntegerLiteral",
+ "offset": 338,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHeartRate.swift",
+ "kind": "IntegerLiteral",
+ "offset": 441,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHeartRate.swift",
+ "kind": "IntegerLiteral",
+ "offset": 505,
+ "length": 3,
+ "value": "100"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHeartRate.swift",
+ "kind": "IntegerLiteral",
+ "offset": 616,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHeartRate.swift",
+ "kind": "IntegerLiteral",
+ "offset": 654,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHeartRate.swift",
+ "kind": "IntegerLiteral",
+ "offset": 690,
+ "length": 1,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHeartRate.swift",
+ "kind": "IntegerLiteral",
+ "offset": 718,
+ "length": 1,
+ "value": "3"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHeartRate.swift",
+ "kind": "StringLiteral",
+ "offset": 779,
+ "length": 92,
+ "value": "\"IBHeartRate(rate: \""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHeartRate.swift",
+ "kind": "StringLiteral",
+ "offset": 805,
+ "length": 1,
+ "value": "\", state:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHeartRate.swift",
+ "kind": "StringLiteral",
+ "offset": 821,
+ "length": 1,
+ "value": "\", higherOrLower:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHeartRate.swift",
+ "kind": "StringLiteral",
+ "offset": 853,
+ "length": 1,
+ "value": "\", value:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHeartRate.swift",
+ "kind": "StringLiteral",
+ "offset": 869,
+ "length": 1,
+ "value": "\")\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHeartRate.swift",
+ "kind": "IntegerLiteral",
+ "offset": 968,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHeartRate.swift",
+ "kind": "IntegerLiteral",
+ "offset": 995,
+ "length": 4,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHeartRate.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1025,
+ "length": 4,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHeartRate.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1056,
+ "length": 5,
+ "value": "3"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHeartRate.swift",
+ "kind": "IntegerLiteral",
+ "offset": 968,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHeartRate.swift",
+ "kind": "IntegerLiteral",
+ "offset": 995,
+ "length": 4,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHeartRate.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1025,
+ "length": 4,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHeartRate.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1056,
+ "length": 5,
+ "value": "3"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHeartRate.swift",
+ "kind": "IntegerLiteral",
+ "offset": 968,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHeartRate.swift",
+ "kind": "IntegerLiteral",
+ "offset": 995,
+ "length": 4,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHeartRate.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1025,
+ "length": 4,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHeartRate.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1056,
+ "length": 5,
+ "value": "3"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWeather.swift",
+ "kind": "Array",
+ "offset": 369,
+ "length": 2,
+ "value": "[]"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWeather.swift",
+ "kind": "StringLiteral",
+ "offset": 495,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWeather.swift",
+ "kind": "StringLiteral",
+ "offset": 547,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWeather.swift",
+ "kind": "IntegerLiteral",
+ "offset": 617,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWeather.swift",
+ "kind": "IntegerLiteral",
+ "offset": 704,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWeather.swift",
+ "kind": "IntegerLiteral",
+ "offset": 759,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWeather.swift",
+ "kind": "IntegerLiteral",
+ "offset": 909,
+ "length": 10,
+ "value": "1654012800"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWeather.swift",
+ "kind": "IntegerLiteral",
+ "offset": 998,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWeather.swift",
+ "kind": "StringLiteral",
+ "offset": 1123,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWeather.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1189,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWeather.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1254,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWeather.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1394,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWeather.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1459,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWeather.swift",
+ "kind": "StringLiteral",
+ "offset": 1523,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWeather.swift",
+ "kind": "StringLiteral",
+ "offset": 1576,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWeather.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1626,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBWeather.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1688,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOta.swift",
+ "kind": "StringLiteral",
+ "offset": 210,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOta.swift",
+ "kind": "IntegerLiteral",
+ "offset": 276,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOta.swift",
+ "kind": "IntegerLiteral",
+ "offset": 451,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOta.swift",
+ "kind": "IntegerLiteral",
+ "offset": 509,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOta.swift",
+ "kind": "IntegerLiteral",
+ "offset": 568,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOta.swift",
+ "kind": "IntegerLiteral",
+ "offset": 657,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOta.swift",
+ "kind": "IntegerLiteral",
+ "offset": 799,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOta.swift",
+ "kind": "IntegerLiteral",
+ "offset": 864,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOta.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1041,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOta.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1101,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOta.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1162,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBOta.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1253,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSleep.swift",
+ "kind": "IntegerLiteral",
+ "offset": 253,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSleep.swift",
+ "kind": "IntegerLiteral",
+ "offset": 465,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSleep.swift",
+ "kind": "IntegerLiteral",
+ "offset": 525,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSleep.swift",
+ "kind": "IntegerLiteral",
+ "offset": 559,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSleep.swift",
+ "kind": "IntegerLiteral",
+ "offset": 608,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSleep.swift",
+ "kind": "IntegerLiteral",
+ "offset": 629,
+ "length": 1,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSleep.swift",
+ "kind": "IntegerLiteral",
+ "offset": 683,
+ "length": 1,
+ "value": "3"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSleep.swift",
+ "kind": "IntegerLiteral",
+ "offset": 704,
+ "length": 1,
+ "value": "4"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSleep.swift",
+ "kind": "IntegerLiteral",
+ "offset": 748,
+ "length": 1,
+ "value": "5"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSleep.swift",
+ "kind": "StringLiteral",
+ "offset": 1015,
+ "length": 164,
+ "value": "\"IBSleep(sleepTimeSet: \""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSleep.swift",
+ "kind": "StringLiteral",
+ "offset": 1053,
+ "length": 1,
+ "value": "\", sleepTime:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSleep.swift",
+ "kind": "StringLiteral",
+ "offset": 1093,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSleep.swift",
+ "kind": "StringLiteral",
+ "offset": 1096,
+ "length": 1,
+ "value": "\", getUpTime:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSleep.swift",
+ "kind": "StringLiteral",
+ "offset": 1136,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSleep.swift",
+ "kind": "StringLiteral",
+ "offset": 1139,
+ "length": 1,
+ "value": "\", alertBeforeMin20:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSleep.swift",
+ "kind": "StringLiteral",
+ "offset": 1177,
+ "length": 1,
+ "value": "\")\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSleep.swift",
+ "kind": "StringLiteral",
+ "offset": 1468,
+ "length": 44,
+ "value": "\"IBTimeItem(hour: \""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSleep.swift",
+ "kind": "StringLiteral",
+ "offset": 1493,
+ "length": 1,
+ "value": "\", minute:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBSleep.swift",
+ "kind": "StringLiteral",
+ "offset": 1511,
+ "length": 1,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
+ "kind": "IntegerLiteral",
+ "offset": 166,
+ "length": 3,
+ "value": "450"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
+ "kind": "Dictionary",
+ "offset": 232,
+ "length": 3,
+ "value": "[]"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
+ "kind": "StringLiteral",
+ "offset": 934,
+ "length": 6,
+ "value": "\"18E0\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
+ "kind": "StringLiteral",
+ "offset": 1001,
+ "length": 6,
+ "value": "\"2AE5\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
+ "kind": "StringLiteral",
+ "offset": 1064,
+ "length": 6,
+ "value": "\"2AE2\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
+ "kind": "StringLiteral",
+ "offset": 1151,
+ "length": 6,
+ "value": "\"2AE3\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
+ "kind": "StringLiteral",
+ "offset": 1239,
+ "length": 6,
+ "value": "\"2AE4\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
+ "kind": "StringLiteral",
+ "offset": 1334,
+ "length": 6,
+ "value": "\"2AE0\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
+ "kind": "Array",
+ "offset": 2211,
+ "length": 2,
+ "value": "[]"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
+ "kind": "StringLiteral",
+ "offset": 3092,
+ "length": 29,
+ "value": "\"开始扫描蓝牙设备...\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
+ "kind": "StringLiteral",
+ "offset": 3607,
+ "length": 29,
+ "value": "\"停止扫描蓝牙设备...\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
+ "kind": "StringLiteral",
+ "offset": 4474,
+ "length": 29,
+ "value": "\"有命令正在执行中...\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
+ "kind": "StringLiteral",
+ "offset": 4557,
+ "length": 29,
+ "value": "\"有命令正在执行中...\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
+ "kind": "FloatLiteral",
+ "offset": 4848,
+ "length": 4,
+ "value": "0.02"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
+ "kind": "StringLiteral",
+ "offset": 4890,
+ "length": 46,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
+ "kind": "StringLiteral",
+ "offset": 4928,
+ "length": 5,
+ "value": "\" Write:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
+ "kind": "StringLiteral",
+ "offset": 4961,
+ "length": 3,
+ "value": "\" \""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
+ "kind": "StringLiteral",
+ "offset": 4967,
+ "length": 28,
+ "value": "\"Bytes(\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
+ "kind": "StringLiteral",
+ "offset": 4993,
+ "length": 1,
+ "value": "\")\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
+ "kind": "StringLiteral",
+ "offset": 5942,
+ "length": 39,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
+ "kind": "StringLiteral",
+ "offset": 5973,
+ "length": 5,
+ "value": "\" Write:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
+ "kind": "StringLiteral",
+ "offset": 6298,
+ "length": 9,
+ "value": "\"unknown\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
+ "kind": "StringLiteral",
+ "offset": 6357,
+ "length": 11,
+ "value": "\"resetting\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
+ "kind": "StringLiteral",
+ "offset": 6420,
+ "length": 13,
+ "value": "\"unsupported\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
+ "kind": "StringLiteral",
+ "offset": 6486,
+ "length": 14,
+ "value": "\"unauthorized\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
+ "kind": "StringLiteral",
+ "offset": 6551,
+ "length": 12,
+ "value": "\"poweredOff\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
+ "kind": "StringLiteral",
+ "offset": 6637,
+ "length": 11,
+ "value": "\"poweredOn\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
+ "kind": "StringLiteral",
+ "offset": 6924,
+ "length": 28,
+ "value": "\"kCBAdvDataManufacturerData\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
+ "kind": "StringLiteral",
+ "offset": 7920,
+ "length": 11,
+ "value": "\"已连接\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
+ "kind": "IntegerLiteral",
+ "offset": 8010,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
+ "kind": "StringLiteral",
+ "offset": 8156,
+ "length": 14,
+ "value": "\"连接失败\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
+ "kind": "StringLiteral",
+ "offset": 8202,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
+ "kind": "BooleanLiteral",
+ "offset": 8273,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
+ "kind": "StringLiteral",
+ "offset": 8470,
+ "length": 14,
+ "value": "\"断开连接\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
+ "kind": "StringLiteral",
+ "offset": 8771,
+ "length": 26,
+ "value": "\"蓝牙设备断开连接\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
+ "kind": "BooleanLiteral",
+ "offset": 8844,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
+ "kind": "IntegerLiteral",
+ "offset": 8944,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
+ "kind": "BooleanLiteral",
+ "offset": 9688,
+ "length": 4,
+ "value": "true"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
+ "kind": "BooleanLiteral",
+ "offset": 9921,
+ "length": 4,
+ "value": "true"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
+ "kind": "StringLiteral",
+ "offset": 11292,
+ "length": 15,
+ "value": "\"write success\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
+ "kind": "BooleanLiteral",
+ "offset": 11897,
+ "length": 4,
+ "value": "true"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
+ "kind": "FloatLiteral",
+ "offset": 12400,
+ "length": 4,
+ "value": "10.0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBluetooth.swift",
+ "kind": "BooleanLiteral",
+ "offset": 12415,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Logger.swift",
+ "kind": "BooleanLiteral",
+ "offset": 148,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Logger.swift",
+ "kind": "Array",
+ "offset": 502,
+ "length": 2,
+ "value": "[]"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Logger.swift",
+ "kind": "StringLiteral",
+ "offset": 696,
+ "length": 26,
+ "value": "\"\/Documents\/IOTBluetooth\/\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Logger.swift",
+ "kind": "BooleanLiteral",
+ "offset": 944,
+ "length": 4,
+ "value": "true"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Logger.swift",
+ "kind": "StringLiteral",
+ "offset": 1012,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Logger.swift",
+ "kind": "StringLiteral",
+ "offset": 1069,
+ "length": 30,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Logger.swift",
+ "kind": "StringLiteral",
+ "offset": 1094,
+ "length": 1,
+ "value": "\".log\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Logger.swift",
+ "kind": "StringLiteral",
+ "offset": 1381,
+ "length": 3,
+ "value": "\" \""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Logger.swift",
+ "kind": "StringLiteral",
+ "offset": 1407,
+ "length": 4,
+ "value": "\"\n\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Logger.swift",
+ "kind": "StringLiteral",
+ "offset": 1505,
+ "length": 51,
+ "value": "\" [IOTBluetooth-\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Logger.swift",
+ "kind": "StringLiteral",
+ "offset": 1538,
+ "length": 6,
+ "value": "\"%03d\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Logger.swift",
+ "kind": "StringLiteral",
+ "offset": 1552,
+ "length": 1,
+ "value": "\"]: \""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Logger.swift",
+ "kind": "StringLiteral",
+ "offset": 1570,
+ "length": 7,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Logger.swift",
+ "kind": "StringLiteral",
+ "offset": 1576,
+ "length": 46,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Logger.swift",
+ "kind": "StringLiteral",
+ "offset": 1707,
+ "length": 51,
+ "value": "\" [IOTBluetooth-\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Logger.swift",
+ "kind": "StringLiteral",
+ "offset": 1740,
+ "length": 6,
+ "value": "\"%03d\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Logger.swift",
+ "kind": "StringLiteral",
+ "offset": 1754,
+ "length": 1,
+ "value": "\"]: \""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryStep.swift",
+ "kind": "Array",
+ "offset": 200,
+ "length": 2,
+ "value": "[]"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryStep.swift",
+ "kind": "Array",
+ "offset": 283,
+ "length": 2,
+ "value": "[]"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryStep.swift",
+ "kind": "IntegerLiteral",
+ "offset": 316,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryStep.swift",
+ "kind": "IntegerLiteral",
+ "offset": 339,
+ "length": 1,
+ "value": "8"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryStep.swift",
+ "kind": "IntegerLiteral",
+ "offset": 375,
+ "length": 1,
+ "value": "7"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryStep.swift",
+ "kind": "IntegerLiteral",
+ "offset": 467,
+ "length": 1,
+ "value": "3"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryStep.swift",
+ "kind": "IntegerLiteral",
+ "offset": 511,
+ "length": 1,
+ "value": "4"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryStep.swift",
+ "kind": "IntegerLiteral",
+ "offset": 517,
+ "length": 1,
+ "value": "7"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryStep.swift",
+ "kind": "IntegerLiteral",
+ "offset": 727,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBHistoryStep.swift",
+ "kind": "IntegerLiteral",
+ "offset": 775,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/LRC.swift",
+ "kind": "IntegerLiteral",
+ "offset": 237,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/LRC.swift",
+ "kind": "IntegerLiteral",
+ "offset": 343,
+ "length": 3,
+ "value": "256"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/LRC.swift",
+ "kind": "IntegerLiteral",
+ "offset": 375,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/LRC.swift",
+ "kind": "IntegerLiteral",
+ "offset": 379,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/LRC.swift",
+ "kind": "IntegerLiteral",
+ "offset": 383,
+ "length": 3,
+ "value": "256"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/LRC.swift",
+ "kind": "IntegerLiteral",
+ "offset": 521,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "kind": "StringLiteral",
+ "offset": 402,
+ "length": 10,
+ "value": "\"HH:mm:ss\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "kind": "StringLiteral",
+ "offset": 491,
+ "length": 7,
+ "value": "\"HH:mm\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "kind": "StringLiteral",
+ "offset": 572,
+ "length": 7,
+ "value": "\"MM-dd\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "kind": "StringLiteral",
+ "offset": 659,
+ "length": 12,
+ "value": "\"MM月dd日\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "kind": "StringLiteral",
+ "offset": 751,
+ "length": 12,
+ "value": "\"yyyy-MM-dd\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "kind": "StringLiteral",
+ "offset": 851,
+ "length": 18,
+ "value": "\"yyy年MM月dd日\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "kind": "StringLiteral",
+ "offset": 956,
+ "length": 18,
+ "value": "\"yyyy-MM-dd HH:mm\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "kind": "StringLiteral",
+ "offset": 1069,
+ "length": 24,
+ "value": "\"yyy年MM月dd日 HH:mm\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "kind": "StringLiteral",
+ "offset": 1181,
+ "length": 21,
+ "value": "\"yyyy-MM-dd HH:mm:ss\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "kind": "StringLiteral",
+ "offset": 1298,
+ "length": 28,
+ "value": "\"yyyy年MM月dd日 HH:mm:ss\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "kind": "StringLiteral",
+ "offset": 1413,
+ "length": 19,
+ "value": "\"yyyy-MM-dd HHmmss\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "kind": "StringLiteral",
+ "offset": 1524,
+ "length": 25,
+ "value": "\"yyyy-MM-dd HH:mm:ss.SSS\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "kind": "StringLiteral",
+ "offset": 1649,
+ "length": 32,
+ "value": "\"yyyy年MM月dd日 HH:mm:ss.SSS\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "kind": "FloatLiteral",
+ "offset": 2126,
+ "length": 4,
+ "value": "60.0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "kind": "FloatLiteral",
+ "offset": 2189,
+ "length": 4,
+ "value": "60.0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "kind": "FloatLiteral",
+ "offset": 2196,
+ "length": 4,
+ "value": "60.0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "kind": "FloatLiteral",
+ "offset": 2255,
+ "length": 4,
+ "value": "60.0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "kind": "FloatLiteral",
+ "offset": 2262,
+ "length": 4,
+ "value": "60.0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "kind": "FloatLiteral",
+ "offset": 2269,
+ "length": 4,
+ "value": "24.0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2459,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2496,
+ "length": 3,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2535,
+ "length": 3,
+ "value": "3"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2574,
+ "length": 3,
+ "value": "4"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2613,
+ "length": 4,
+ "value": "5"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2653,
+ "length": 3,
+ "value": "6"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2692,
+ "length": 3,
+ "value": "7"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2459,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2496,
+ "length": 3,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2535,
+ "length": 3,
+ "value": "3"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2574,
+ "length": 3,
+ "value": "4"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2613,
+ "length": 4,
+ "value": "5"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2653,
+ "length": 3,
+ "value": "6"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2692,
+ "length": 3,
+ "value": "7"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2459,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2496,
+ "length": 3,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2535,
+ "length": 3,
+ "value": "3"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2574,
+ "length": 3,
+ "value": "4"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2613,
+ "length": 4,
+ "value": "5"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2653,
+ "length": 3,
+ "value": "6"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Tools\/Date.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2692,
+ "length": 3,
+ "value": "7"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBDial.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1577,
+ "length": 1,
+ "value": "5"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBDial.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1750,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBDial.swift",
+ "kind": "StringLiteral",
+ "offset": 2354,
+ "length": 77,
+ "value": "\"IBMarketDail(UID: \""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBDial.swift",
+ "kind": "StringLiteral",
+ "offset": 2379,
+ "length": 1,
+ "value": "\", themeLength:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBDial.swift",
+ "kind": "StringLiteral",
+ "offset": 2407,
+ "length": 1,
+ "value": "\", theme:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBDial.swift",
+ "kind": "StringLiteral",
+ "offset": 2426,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBDial.swift",
+ "kind": "StringLiteral",
+ "offset": 2429,
+ "length": 1,
+ "value": "\")\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBDial.swift",
+ "kind": "StringLiteral",
+ "offset": 2557,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBDial.swift",
+ "kind": "StringLiteral",
+ "offset": 2615,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBDial.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2695,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBDial.swift",
+ "kind": "IntegerLiteral",
+ "offset": 2852,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBDial.swift",
+ "kind": "IntegerLiteral",
+ "offset": 3139,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBDial.swift",
+ "kind": "IntegerLiteral",
+ "offset": 3356,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBDial.swift",
+ "kind": "StringLiteral",
+ "offset": 3445,
+ "length": 147,
+ "value": "\"IBDialFile(UID: \""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBDial.swift",
+ "kind": "StringLiteral",
+ "offset": 3468,
+ "length": 1,
+ "value": "\", index:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBDial.swift",
+ "kind": "StringLiteral",
+ "offset": 3484,
+ "length": 1,
+ "value": "\",fileType: \""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBDial.swift",
+ "kind": "StringLiteral",
+ "offset": 3506,
+ "length": 1,
+ "value": "\", nameLength:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBDial.swift",
+ "kind": "StringLiteral",
+ "offset": 3532,
+ "length": 1,
+ "value": "\", filePath:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBDial.swift",
+ "kind": "StringLiteral",
+ "offset": 3554,
+ "length": 1,
+ "value": "\", fileName:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBDial.swift",
+ "kind": "StringLiteral",
+ "offset": 3576,
+ "length": 1,
+ "value": "\", size:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBDial.swift",
+ "kind": "StringLiteral",
+ "offset": 3590,
+ "length": 1,
+ "value": "\")\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBBloodOxygen.swift",
+ "kind": "IntegerLiteral",
+ "offset": 345,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBBloodOxygen.swift",
+ "kind": "IntegerLiteral",
+ "offset": 402,
+ "length": 2,
+ "value": "95"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBBloodOxygen.swift",
+ "kind": "IntegerLiteral",
+ "offset": 514,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBBloodOxygen.swift",
+ "kind": "IntegerLiteral",
+ "offset": 552,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBBloodOxygen.swift",
+ "kind": "IntegerLiteral",
+ "offset": 579,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBBloodOxygen.swift",
+ "kind": "IntegerLiteral",
+ "offset": 608,
+ "length": 1,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBBloodOxygen.swift",
+ "kind": "StringLiteral",
+ "offset": 679,
+ "length": 62,
+ "value": "\"IBBloodOxygen(rate: \""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBBloodOxygen.swift",
+ "kind": "StringLiteral",
+ "offset": 707,
+ "length": 1,
+ "value": "\", state:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBBloodOxygen.swift",
+ "kind": "StringLiteral",
+ "offset": 723,
+ "length": 1,
+ "value": "\", value:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBBloodOxygen.swift",
+ "kind": "StringLiteral",
+ "offset": 739,
+ "length": 1,
+ "value": "\")\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBBloodOxygen.swift",
+ "kind": "IntegerLiteral",
+ "offset": 846,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBBloodOxygen.swift",
+ "kind": "IntegerLiteral",
+ "offset": 874,
+ "length": 5,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBBloodOxygen.swift",
+ "kind": "IntegerLiteral",
+ "offset": 905,
+ "length": 5,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBBloodOxygen.swift",
+ "kind": "IntegerLiteral",
+ "offset": 936,
+ "length": 5,
+ "value": "3"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBBloodOxygen.swift",
+ "kind": "IntegerLiteral",
+ "offset": 846,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBBloodOxygen.swift",
+ "kind": "IntegerLiteral",
+ "offset": 874,
+ "length": 5,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBBloodOxygen.swift",
+ "kind": "IntegerLiteral",
+ "offset": 905,
+ "length": 5,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBBloodOxygen.swift",
+ "kind": "IntegerLiteral",
+ "offset": 936,
+ "length": 5,
+ "value": "3"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBBloodOxygen.swift",
+ "kind": "IntegerLiteral",
+ "offset": 846,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBBloodOxygen.swift",
+ "kind": "IntegerLiteral",
+ "offset": 874,
+ "length": 5,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBBloodOxygen.swift",
+ "kind": "IntegerLiteral",
+ "offset": 905,
+ "length": 5,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBBloodOxygen.swift",
+ "kind": "IntegerLiteral",
+ "offset": 936,
+ "length": 5,
+ "value": "3"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPeripheral.swift",
+ "kind": "IntegerLiteral",
+ "offset": 231,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPeripheral.swift",
+ "kind": "StringLiteral",
+ "offset": 562,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPeripheral.swift",
+ "kind": "Dictionary",
+ "offset": 655,
+ "length": 3,
+ "value": "[]"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPeripheral.swift",
+ "kind": "StringLiteral",
+ "offset": 799,
+ "length": 9,
+ "value": "\"Unknown\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPeripheral.swift",
+ "kind": "StringLiteral",
+ "offset": 890,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPeripheral.swift",
+ "kind": "IntegerLiteral",
+ "offset": 995,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPeripheral.swift",
+ "kind": "StringLiteral",
+ "offset": 1043,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPeripheral.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1104,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPeripheral.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1155,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBPeripheral.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1204,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBEpo.swift",
+ "kind": "IntegerLiteral",
+ "offset": 193,
+ "length": 1,
+ "value": "5"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBEpo.swift",
+ "kind": "IntegerLiteral",
+ "offset": 305,
+ "length": 1,
+ "value": "6"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBEpo.swift",
+ "kind": "StringLiteral",
+ "offset": 421,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBEpo.swift",
+ "kind": "StringLiteral",
+ "offset": 479,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBEpo.swift",
+ "kind": "IntegerLiteral",
+ "offset": 540,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBEpo.swift",
+ "kind": "StringLiteral",
+ "offset": 627,
+ "length": 112,
+ "value": "\"IBEpo(UID: \""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBEpo.swift",
+ "kind": "StringLiteral",
+ "offset": 645,
+ "length": 1,
+ "value": "\", nameLength:\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBEpo.swift",
+ "kind": "StringLiteral",
+ "offset": 671,
+ "length": 1,
+ "value": "\",fileName: \""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBEpo.swift",
+ "kind": "StringLiteral",
+ "offset": 693,
+ "length": 1,
+ "value": "\",filePath: \""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBEpo.swift",
+ "kind": "StringLiteral",
+ "offset": 715,
+ "length": 1,
+ "value": "\",fileSize: \""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBEpo.swift",
+ "kind": "StringLiteral",
+ "offset": 737,
+ "length": 1,
+ "value": "\")\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 208,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 234,
+ "length": 7,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 269,
+ "length": 8,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 302,
+ "length": 6,
+ "value": "3"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 339,
+ "length": 7,
+ "value": "4"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 371,
+ "length": 7,
+ "value": "5"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 412,
+ "length": 8,
+ "value": "6"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 445,
+ "length": 6,
+ "value": "7"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 482,
+ "length": 10,
+ "value": "8"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 517,
+ "length": 6,
+ "value": "9"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 551,
+ "length": 5,
+ "value": "10"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 587,
+ "length": 7,
+ "value": "11"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 622,
+ "length": 5,
+ "value": "12"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 655,
+ "length": 5,
+ "value": "13"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 688,
+ "length": 5,
+ "value": "14"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 730,
+ "length": 10,
+ "value": "15"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 774,
+ "length": 9,
+ "value": "16"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 811,
+ "length": 6,
+ "value": "17"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 842,
+ "length": 4,
+ "value": "18"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 874,
+ "length": 10,
+ "value": "19"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 912,
+ "length": 7,
+ "value": "20"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 953,
+ "length": 8,
+ "value": "21"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 992,
+ "length": 7,
+ "value": "22"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 208,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 234,
+ "length": 7,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 269,
+ "length": 8,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 302,
+ "length": 6,
+ "value": "3"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 339,
+ "length": 7,
+ "value": "4"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 371,
+ "length": 7,
+ "value": "5"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 412,
+ "length": 8,
+ "value": "6"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 445,
+ "length": 6,
+ "value": "7"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 482,
+ "length": 10,
+ "value": "8"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 517,
+ "length": 6,
+ "value": "9"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 551,
+ "length": 5,
+ "value": "10"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 587,
+ "length": 7,
+ "value": "11"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 622,
+ "length": 5,
+ "value": "12"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 655,
+ "length": 5,
+ "value": "13"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 688,
+ "length": 5,
+ "value": "14"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 730,
+ "length": 10,
+ "value": "15"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 774,
+ "length": 9,
+ "value": "16"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 811,
+ "length": 6,
+ "value": "17"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 842,
+ "length": 4,
+ "value": "18"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 874,
+ "length": 10,
+ "value": "19"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 912,
+ "length": 7,
+ "value": "20"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 953,
+ "length": 8,
+ "value": "21"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 992,
+ "length": 7,
+ "value": "22"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 208,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 234,
+ "length": 7,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 269,
+ "length": 8,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 302,
+ "length": 6,
+ "value": "3"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 339,
+ "length": 7,
+ "value": "4"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 371,
+ "length": 7,
+ "value": "5"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 412,
+ "length": 8,
+ "value": "6"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 445,
+ "length": 6,
+ "value": "7"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 482,
+ "length": 10,
+ "value": "8"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 517,
+ "length": 6,
+ "value": "9"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 551,
+ "length": 5,
+ "value": "10"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 587,
+ "length": 7,
+ "value": "11"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 622,
+ "length": 5,
+ "value": "12"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 655,
+ "length": 5,
+ "value": "13"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 688,
+ "length": 5,
+ "value": "14"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 730,
+ "length": 10,
+ "value": "15"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 774,
+ "length": 9,
+ "value": "16"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 811,
+ "length": 6,
+ "value": "17"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 842,
+ "length": 4,
+ "value": "18"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 874,
+ "length": 10,
+ "value": "19"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 912,
+ "length": 7,
+ "value": "20"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 953,
+ "length": 8,
+ "value": "21"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/Models\/IBLanguage.swift",
+ "kind": "IntegerLiteral",
+ "offset": 992,
+ "length": 7,
+ "value": "22"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
+ "kind": "IntegerLiteral",
+ "offset": 606,
+ "length": 1,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
+ "kind": "IntegerLiteral",
+ "offset": 623,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
+ "kind": "IntegerLiteral",
+ "offset": 741,
+ "length": 2,
+ "value": "18"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
+ "kind": "IntegerLiteral",
+ "offset": 749,
+ "length": 1,
+ "value": "0"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
+ "kind": "IntegerLiteral",
+ "offset": 755,
+ "length": 4,
+ "value": "0x72"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
+ "kind": "StringLiteral",
+ "offset": 813,
+ "length": 13,
+ "value": "\"Notify Read\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
+ "kind": "StringLiteral",
+ "offset": 829,
+ "length": 6,
+ "value": "\"Read\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
+ "kind": "IntegerLiteral",
+ "offset": 922,
+ "length": 1,
+ "value": "3"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
+ "kind": "IntegerLiteral",
+ "offset": 926,
+ "length": 1,
+ "value": "6"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
+ "kind": "IntegerLiteral",
+ "offset": 966,
+ "length": 1,
+ "value": "7"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
+ "kind": "IntegerLiteral",
+ "offset": 970,
+ "length": 2,
+ "value": "10"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1010,
+ "length": 2,
+ "value": "11"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1015,
+ "length": 2,
+ "value": "14"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1053,
+ "length": 2,
+ "value": "15"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1058,
+ "length": 2,
+ "value": "16"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
+ "kind": "StringLiteral",
+ "offset": 1114,
+ "length": 4,
+ "value": "\"->\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
+ "kind": "StringLiteral",
+ "offset": 1120,
+ "length": 91,
+ "value": "\"pkgTotal = \""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
+ "kind": "StringLiteral",
+ "offset": 1143,
+ "length": 1,
+ "value": "\",dataTotal = \""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
+ "kind": "StringLiteral",
+ "offset": 1168,
+ "length": 1,
+ "value": "\",pkgIndex = \""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
+ "kind": "StringLiteral",
+ "offset": 1191,
+ "length": 1,
+ "value": "\",pkgLen = \""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
+ "kind": "StringLiteral",
+ "offset": 1210,
+ "length": 15,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
+ "kind": "StringLiteral",
+ "offset": 1224,
+ "length": 3,
+ "value": "\" \""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1353,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1399,
+ "length": 2,
+ "value": "17"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1446,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
+ "kind": "IntegerLiteral",
+ "offset": 1622,
+ "length": 2,
+ "value": "17"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
+ "kind": "StringLiteral",
+ "offset": 1713,
+ "length": 51,
+ "value": "\"total = \""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
+ "kind": "StringLiteral",
+ "offset": 1734,
+ "length": 1,
+ "value": "\",receive = \""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
+ "kind": "StringLiteral",
+ "offset": 1763,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
+ "kind": "StringLiteral",
+ "offset": 2123,
+ "length": 3,
+ "value": "\" \""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
+ "kind": "StringLiteral",
+ "offset": 3122,
+ "length": 17,
+ "value": "\"IOTBletooth.mac\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
+ "kind": "Array",
+ "offset": 3154,
+ "length": 2,
+ "value": "[]"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
+ "kind": "BooleanLiteral",
+ "offset": 3522,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
+ "kind": "IntegerLiteral",
+ "offset": 3723,
+ "length": 1,
+ "value": "2"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
+ "kind": "BooleanLiteral",
+ "offset": 3815,
+ "length": 4,
+ "value": "true"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
+ "kind": "IntegerLiteral",
+ "offset": 3924,
+ "length": 1,
+ "value": "1"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
+ "kind": "StringLiteral",
+ "offset": 4005,
+ "length": 26,
+ "value": "\"等待手表同意连接\""
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
+ "kind": "IntegerLiteral",
+ "offset": 4084,
+ "length": 1,
+ "value": "3"
+ },
+ {
+ "filePath": "\/Users\/apple\/Desktop\/code\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IOTBluetooth\/IBReceiveManager.swift",
+ "kind": "BooleanLiteral",
+ "offset": 4187,
+ "length": 5,
+ "value": "false"
+ }
+ ]
+}
\ No newline at end of file
--- /dev/null
+// swift-interface-format-version: 1.0
+// swift-compiler-version: Apple Swift version 5.9.2 effective-4.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5)
+// swift-module-flags: -target arm64-apple-ios13.0 -enable-objc-interop -enable-library-evolution -swift-version 4.2 -enforce-exclusivity=checked -O -module-name IOTBluetooth
+// swift-module-flags-ignorable: -enable-bare-slash-regex
+import CoreBluetooth
+import Foundation
+@_exported import IOTBluetooth
+import MixSdk
+import Swift
+import _Concurrency
+import _StringProcessing
+import _SwiftConcurrencyShims
+@_hasMissingDesignatedInitializers public class IBResponseModel {
+ @objc deinit
+}
+@_hasMissingDesignatedInitializers public class IBResponse : Swift.CustomStringConvertible {
+ public var code: IOTBluetooth.IBCode {
+ get
+ }
+ public var message: Swift.String {
+ get
+ }
+ public var isSuccess: Swift.Bool {
+ get
+ }
+ public var items: [Any] {
+ get
+ }
+ public var value: Any? {
+ get
+ }
+ public var description: Swift.String {
+ get
+ }
+ @objc deinit
+}
+public class IBHistoryStandItem {
+ public var time: Swift.Int
+ public init()
+ @objc deinit
+}
+public class IBVibrateConfig {
+ public var type: Swift.Int
+ public var systemValue: Swift.Int?
+ public var ringsValue: Swift.Int?
+ public var ringsState: Swift.Int?
+ public var vibrateState: Swift.Int?
+ public init()
+ @objc deinit
+}
+@_hasMissingDesignatedInitializers public class IBVibrateSound {
+ public var systemValue: Swift.Int
+ public var ringsValue: Swift.Int
+ public var mediaValue: Swift.Int
+ public var ringsState: Swift.Int
+ public var vibrateState: Swift.Int
+ public init()
+ @objc deinit
+}
+public class IBAddressBook {
+ public var gender: Swift.Int
+ public var name: Swift.String?
+ public var phoneNumbers: [IOTBluetooth.IBPhoneNumber]
+ public init()
+ public var description: Swift.String {
+ get
+ }
+ @objc deinit
+}
+public class IBPhoneNumber {
+ public var number: Swift.String
+ public var location: Swift.String?
+ public var `operator`: Swift.String?
+ public init()
+ public var description: Swift.String {
+ get
+ }
+ @objc deinit
+}
+public enum IBParameter {
+ case dialID(Swift.Int)
+ case action(Swift.Int)
+ case motionMode(IOTBluetooth.IBMotionMode)
+ case language(IOTBluetooth.IBLanguage)
+ case value(Swift.Int)
+ case file(IOTBluetooth.IBFile)
+ case targetStep(IOTBluetooth.IBTargetStep)
+ case sleep(IOTBluetooth.IBSleep)
+ case water(IOTBluetooth.IBWater)
+ case clock(IOTBluetooth.IBClock)
+ case heartRate(IOTBluetooth.IBHeartRate)
+ case bloodOxygen(IOTBluetooth.IBBloodOxygen)
+ case screen(IOTBluetooth.IBScreenConfig)
+ case vibrateSound(IOTBluetooth.IBVibrateConfig)
+ case otherTarget(IOTBluetooth.IBOtherTarget)
+ case trainTarget(IOTBluetooth.IBTrainTarget)
+ case sendPhone(IOTBluetooth.IBPhoneInfo)
+ case sendTime(IOTBluetooth.IBSendTime)
+ case auxiliary(IOTBluetooth.IBAuxiliary)
+ case userInfo(IOTBluetooth.IBUserInfo)
+ case weather(IOTBluetooth.IBWeather)
+ case addressBook([IOTBluetooth.IBAddressBook])
+ case epo([IOTBluetooth.IBEpo])
+ case ota(IOTBluetooth.IBOtaFile)
+ case MP3(IOTBluetooth.IBMp3File)
+ case dial(IOTBluetooth.IBDial)
+ case dialFile(IOTBluetooth.IBDialFile)
+ case deleteFile(IOTBluetooth.IBDeleteFile)
+ case fetchFils(IOTBluetooth.IBFile)
+ case aiValid(IOTBluetooth.IBAiValid)
+ case aiResponse(IOTBluetooth.IBAiResponse)
+}
+public enum IBMotionMode : Swift.Int {
+ case walking
+ case running
+ case ride
+ public init?(rawValue: Swift.Int)
+ public typealias RawValue = Swift.Int
+ public var rawValue: Swift.Int {
+ get
+ }
+}
+public enum IBFile : Swift.Int, Swift.Codable {
+ case ota
+ case mp3
+ case dial
+ case ota_w4
+ case epo
+ public init?(rawValue: Swift.Int)
+ public typealias RawValue = Swift.Int
+ public var rawValue: Swift.Int {
+ get
+ }
+}
+public enum IBAuxiliary : Swift.Int {
+ case sport
+ case heart
+ case bloodOxygen
+ case train
+ case tarinRecord
+ case compass
+ case weather
+ case music
+ case mobile
+ case record
+ case secondTimer
+ case timer
+ case clock
+ case bluetooth
+ case sleep
+ case setting
+ public init?(rawValue: Swift.Int)
+ public typealias RawValue = Swift.Int
+ public var rawValue: Swift.Int {
+ get
+ }
+}
+@_hasMissingDesignatedInitializers public class IBOtherTarget {
+ public var calorie: Swift.Int
+ public var mileage: Swift.Int
+ public var stand: Swift.Int
+ public var burning: Swift.Int
+ public var ringsState: Swift.Int
+ public var vibrateState: Swift.Int
+ public var noticeState: Swift.Int
+ public init()
+ @objc deinit
+}
+public class IBAbout : Swift.Codable {
+ public var code: Swift.Int
+ public var major: Swift.Int
+ public var mid: Swift.Int
+ public var minor: Swift.Int
+ public var macAddress: Swift.String
+ public init()
+ @objc deinit
+ public func encode(to encoder: any Swift.Encoder) throws
+ required public init(from decoder: any Swift.Decoder) throws
+}
+public class IBHistoryDistanceItem {
+ public var time: Swift.Int
+ public var value: Swift.Float
+ public init()
+ @objc deinit
+}
+@_hasMissingDesignatedInitializers public class IBHistoryBaseTrainingItem : Swift.Codable {
+ public var source: Swift.Int
+ public var otherType: Swift.Int?
+ public var trainingType: Swift.Int
+ public var star: Swift.Int
+ public var stop: Swift.Int
+ public var targetType: Swift.Int
+ public var target: Swift.Int
+ public var progress: Swift.Int
+ public var duration: Swift.Int
+ public var calorie: Swift.Int?
+ public var distance: Swift.Int?
+ public var heartRate: Swift.Int
+ public var step: Swift.Int?
+ public var trainingLevel: Swift.Int?
+ public var circle: Swift.Int?
+ public var elevation: Swift.Int?
+ @objc deinit
+ public func encode(to encoder: any Swift.Encoder) throws
+ required public init(from decoder: any Swift.Decoder) throws
+}
+public struct IBTrainingData {
+ public let startTime: Swift.Int
+ public let heartRate: Swift.Int
+ public let calorie: Swift.Int
+ public let distance: Swift.Int
+ public let stepCount: Swift.Int
+ public let intensity: Swift.Int
+ public var description: Swift.String {
+ get
+ }
+}
+public class IBDeleteFile : Swift.Codable {
+ public var fileType: IOTBluetooth.IBFile
+ public var uids: [Swift.Int]
+ public init()
+ public var description: Swift.String {
+ get
+ }
+ @objc deinit
+ public func encode(to encoder: any Swift.Encoder) throws
+ required public init(from decoder: any Swift.Decoder) throws
+}
+@_hasMissingDesignatedInitializers public class IBTarinState {
+ public var state: Swift.Int
+ public var duration: Swift.Int
+ public init()
+ public var description: Swift.String {
+ get
+ }
+ @objc deinit
+}
+public class IBAiValid {
+ public var isValid: Swift.Bool
+ public var key: Swift.String?
+ public init()
+ public var description: Swift.String {
+ get
+ }
+ @objc deinit
+}
+@_hasMissingDesignatedInitializers public class IBUserInfo {
+ public var age: Swift.Int
+ public var gender: Swift.Int
+ public var height: Swift.Int
+ public var weight: Swift.Int
+ public var step: Swift.Int
+ public var burning: Swift.Int
+ public var stand: Swift.Int
+ public var hourSystem: Swift.Int
+ public init()
+ public var description: Swift.String {
+ get
+ }
+ @objc deinit
+}
+public class IBHistoryHeartRateItem {
+ public var time: Swift.Int
+ public var value: Swift.Int
+ public init()
+ @objc deinit
+}
+public class IBHistoryBloodOxygenItem {
+ public var time: Swift.Int
+ public var value: Swift.Int
+ public init()
+ @objc deinit
+}
+extension IOTBluetooth.IBNotify {
+ public struct Name {
+ }
+}
+@_hasMissingDesignatedInitializers public class IBNotify {
+ @objc deinit
+}
+extension IOTBluetooth.IBManager {
+ public static func subscribe(_ name: IOTBluetooth.IBNotify.Name, observer: (any ObjectiveC.NSObjectProtocol)!, receive: @escaping (_ object: Any?, _ userInfo: [Swift.String : Any]) -> Swift.Void)
+ public static func remove(_ observer: any ObjectiveC.NSObjectProtocol)
+}
+extension IOTBluetooth.IBNotify.Name {
+ public static let connectStateDidChange: IOTBluetooth.IBNotify.Name
+ public static let takePhoto: IOTBluetooth.IBNotify.Name
+ public static let weather: IOTBluetooth.IBNotify.Name
+ public static let didFindDevice: IOTBluetooth.IBNotify.Name
+ public static let trainStateDidChanged: IOTBluetooth.IBNotify.Name
+ public static let trainingData: IOTBluetooth.IBNotify.Name
+}
+extension Swift.String {
+ public var binary: Swift.String {
+ get
+ }
+}
+extension Swift.Double {
+ public var upInt: Swift.Int {
+ get
+ }
+}
+extension Swift.Int {
+ public var bytes: [Swift.UInt8] {
+ get
+ }
+ public var byte: Swift.UInt8 {
+ get
+ }
+ public var byte2: [Swift.UInt8] {
+ get
+ }
+ public var byte3: [Swift.UInt8] {
+ get
+ }
+ public var byte4: [Swift.UInt8] {
+ get
+ }
+}
+extension Swift.BinaryInteger {
+ public var binaryString: Swift.String {
+ get
+ }
+}
+extension Swift.Array where Element == Swift.UInt8 {
+ public var int: Swift.Int {
+ get
+ }
+ public var data: Foundation.Data {
+ get
+ }
+}
+extension Foundation.Data {
+ public var bytes: [Swift.UInt8] {
+ get
+ }
+ public func joined(format: Swift.String = "%02x", _ separator: Swift.String = "") -> Swift.String
+ public func reversedJoined(format: Swift.String = "%02x", _ separator: Swift.String = "") -> Swift.String
+ public var int: Swift.Int {
+ get
+ }
+ public var lrc: Swift.UInt8 {
+ get
+ }
+}
+extension Swift.UInt8 {
+ public var int: Swift.Int {
+ get
+ }
+}
+public enum IBCode : Swift.Int, Swift.CustomStringConvertible {
+ public var description: Swift.String {
+ get
+ }
+ case success
+ case failure
+ case invalidParam
+ case parseError
+ case timeout
+ case unknow
+ public init?(rawValue: Swift.Int)
+ public typealias RawValue = Swift.Int
+ public var rawValue: Swift.Int {
+ get
+ }
+}
+@_hasMissingDesignatedInitializers public class IBFetchFile : Swift.Codable {
+ public init()
+ @objc deinit
+ public func encode(to encoder: any Swift.Encoder) throws
+ required public init(from decoder: any Swift.Decoder) throws
+}
+public class IBFetchDialItem : Swift.Codable {
+ public init()
+ @objc deinit
+ public func encode(to encoder: any Swift.Encoder) throws
+ required public init(from decoder: any Swift.Decoder) throws
+}
+public class IBFetchMp3Item : Swift.Codable {
+ public init()
+ @objc deinit
+ public func encode(to encoder: any Swift.Encoder) throws
+ required public init(from decoder: any Swift.Decoder) throws
+}
+public class IBTrainTarget : Swift.Codable {
+ public var type: IOTBluetooth.IBTrainTargetType
+ public var distance: Swift.Int?
+ public var calorie: Swift.Int?
+ public var time: Swift.Int?
+ public var step: Swift.Int?
+ public init()
+ @objc deinit
+ public func encode(to encoder: any Swift.Encoder) throws
+ required public init(from decoder: any Swift.Decoder) throws
+}
+public enum IBTrainTargetType : Swift.Int, Swift.Codable {
+ case distance
+ case calorie
+ case time
+ case step
+ public init?(rawValue: Swift.Int)
+ public typealias RawValue = Swift.Int
+ public var rawValue: Swift.Int {
+ get
+ }
+}
+public typealias IBCompletionHandler = (_ result: IOTBluetooth.IBResponse) -> Swift.Void
+public class IBSender {
+ public init()
+ @objc deinit
+}
+extension IOTBluetooth.IBSender {
+ @discardableResult
+ public func ability(_ value: IOTBluetooth.IBAbility) -> Self
+ @discardableResult
+ public func parameters(_ value: [IOTBluetooth.IBParameter]) -> Self
+ @discardableResult
+ public func response(_ handler: @escaping IOTBluetooth.IBCompletionHandler) -> Self
+}
+@_hasMissingDesignatedInitializers public class IBHistoryGps {
+ @objc deinit
+}
+public class IBHistoryGpsItem {
+ public var time: Swift.Int
+ public var lat: Swift.Int
+ public var lon: Swift.Int
+ public init()
+ @objc deinit
+}
+public class IBHistoryBurningItem {
+ public var time: Swift.Int
+ public var value: Swift.Int
+ public init()
+ @objc deinit
+}
+public class IBWater {
+ public var alertState: Swift.Int
+ public var alertType: Swift.Int
+ public var drinkingValue: Swift.Int
+ public var start: IOTBluetooth.IBTimeItem
+ public var end: IOTBluetooth.IBTimeItem
+ public var frequency: IOTBluetooth.IBFrequency
+ public init()
+ @objc deinit
+}
+public enum IBFrequency : Swift.Int {
+ case min30
+ case hour1
+ case hour2
+ case hour3
+ case none
+ public init?(rawValue: Swift.Int)
+ public typealias RawValue = Swift.Int
+ public var rawValue: Swift.Int {
+ get
+ }
+}
+@_hasMissingDesignatedInitializers public class IBAbility {
+ public var description: Swift.String {
+ get
+ }
+ @objc deinit
+}
+extension IOTBluetooth.IBAbility {
+ public static let userData: IOTBluetooth.IBAbility
+ public static let about: IOTBluetooth.IBAbility
+ public static let switchDial: IOTBluetooth.IBAbility
+ public static let deleteDial: IOTBluetooth.IBAbility
+ public static let fetchCurrentDialId: IOTBluetooth.IBAbility
+ public static let find: IOTBluetooth.IBAbility
+ public static let message: IOTBluetooth.IBAbility
+ public static let startSport: IOTBluetooth.IBAbility
+ public static let endSport: IOTBluetooth.IBAbility
+ public static let trainFrequency: IOTBluetooth.IBAbility
+ public static let trainPauseResume: IOTBluetooth.IBAbility
+ public static let language: IOTBluetooth.IBAbility
+ public static let fetchHeartRate: IOTBluetooth.IBAbility
+ public static let heartRate: IOTBluetooth.IBAbility
+ public static let fetchBloodOxygen: IOTBluetooth.IBAbility
+ public static let bloodOxygen: IOTBluetooth.IBAbility
+ public static let currentHeartRate: IOTBluetooth.IBAbility
+ public static let heartRateMode: IOTBluetooth.IBAbility
+ public static let heartRateHigh: IOTBluetooth.IBAbility
+ public static let takePhoto: IOTBluetooth.IBAbility
+ public static let restore: IOTBluetooth.IBAbility
+ public static let reboot: IOTBluetooth.IBAbility
+ public static let shutdown: IOTBluetooth.IBAbility
+ public static let fetchBattery: IOTBluetooth.IBAbility
+ public static let fetchClock: IOTBluetooth.IBAbility
+ public static let setClock: IOTBluetooth.IBAbility
+ public static let fetchDials: IOTBluetooth.IBAbility
+ public static let checkDialID: IOTBluetooth.IBAbility
+ public static let fetchWatchState: IOTBluetooth.IBAbility
+ public static let fetchScreen: IOTBluetooth.IBAbility
+ public static let screen: IOTBluetooth.IBAbility
+ public static let fetchVibrateSound: IOTBluetooth.IBAbility
+ public static let vibrateSound: IOTBluetooth.IBAbility
+ public static let auxiliary: IOTBluetooth.IBAbility
+ public static let fetchAuxiliary: IOTBluetooth.IBAbility
+ public static let fetchTargetStep: IOTBluetooth.IBAbility
+ public static let targetStep: IOTBluetooth.IBAbility
+ public static let fetchOtherTarget: IOTBluetooth.IBAbility
+ public static let targetOther: IOTBluetooth.IBAbility
+ public static let fetchSleep: IOTBluetooth.IBAbility
+ public static let sleep: IOTBluetooth.IBAbility
+ public static let fetchWater: IOTBluetooth.IBAbility
+ public static let water: IOTBluetooth.IBAbility
+ public static let unit: IOTBluetooth.IBAbility
+ public static let trainTarget: IOTBluetooth.IBAbility
+ public static let syncHeartRate: IOTBluetooth.IBAbility
+ public static let syncBloodOxygen: IOTBluetooth.IBAbility
+ public static let syncStepCount: IOTBluetooth.IBAbility
+ public static let syncFatBurning: IOTBluetooth.IBAbility
+ public static let syncStand: IOTBluetooth.IBAbility
+ public static let syncCalorie: IOTBluetooth.IBAbility
+ public static let syncDistance: IOTBluetooth.IBAbility
+ public static let syncTrain: IOTBluetooth.IBAbility
+ public static let syncSleep: IOTBluetooth.IBAbility
+ public static let syncGPS: IOTBluetooth.IBAbility
+ public static let sendSyncEnd: IOTBluetooth.IBAbility
+ public static let disk: IOTBluetooth.IBAbility
+ public static let sendPhone: IOTBluetooth.IBAbility
+ public static let sendTime: IOTBluetooth.IBAbility
+ public static let unpair: IOTBluetooth.IBAbility
+ public static let sendUnpair: IOTBluetooth.IBAbility
+ public static let sendWeather: IOTBluetooth.IBAbility
+ public static let addressBook: IOTBluetooth.IBAbility
+ public static let mp3: IOTBluetooth.IBAbility
+ public static let dial: IOTBluetooth.IBAbility
+ public static let deleteFile: IOTBluetooth.IBAbility
+ public static let deleteFiles: IOTBluetooth.IBAbility
+ public static let ota: IOTBluetooth.IBAbility
+ public static let revokeFileSend: IOTBluetooth.IBAbility
+ public static let fetchFiles: IOTBluetooth.IBAbility
+}
+public class IBScreenConfig {
+ public var type: Swift.Int
+ public var brightness: Swift.Int?
+ public var duration: IOTBluetooth.IBDuration?
+ public var wrist: Swift.Int?
+ public init()
+ @objc deinit
+}
+@_hasMissingDesignatedInitializers public class IBScreen {
+ public var brightness: Swift.Int
+ public var duration: IOTBluetooth.IBDuration
+ public var wrist: Swift.Int
+ public init()
+ @objc deinit
+}
+public enum IBDuration : Swift.Int {
+ case second5
+ case second10
+ case second15
+ case second30
+ case minute
+ case minute5
+ public init?(rawValue: Swift.Int)
+ public typealias RawValue = Swift.Int
+ public var rawValue: Swift.Int {
+ get
+ }
+}
+public class IBSendTime : Swift.Codable {
+ public var time: Swift.Int
+ public var week: Swift.Int
+ public var year: Swift.Int
+ public var month: Swift.Int
+ public var day: Swift.Int
+ public var hour: Swift.Int
+ public var minute: Swift.Int
+ public var second: Swift.Int
+ public init()
+ @objc deinit
+ public func encode(to encoder: any Swift.Encoder) throws
+ required public init(from decoder: any Swift.Decoder) throws
+}
+@_hasMissingDesignatedInitializers public class IBTargetStep {
+ public var value: Swift.Int
+ public var ring: Swift.Int
+ public var vibrate: Swift.Int
+ public var notice: Swift.Int
+ public init()
+ @objc deinit
+}
+public typealias IBProgressHandler = (_ total: Swift.Int, _ current: Swift.Int) -> Swift.Void
+public class IBFileSender {
+ public init()
+ @objc deinit
+}
+extension IOTBluetooth.IBFileSender {
+ @discardableResult
+ public func ota(_ info: IOTBluetooth.IBSendOta) -> Self
+ @discardableResult
+ public func mp3(_ info: IOTBluetooth.IBSendMp3) -> Self
+ public func dial(_ info: IOTBluetooth.IBDial) -> Self
+ @discardableResult
+ public func progress(_ value: @escaping IOTBluetooth.IBProgressHandler) -> Self
+ @discardableResult
+ public func response(_ handler: @escaping IOTBluetooth.IBCompletionHandler) -> Self
+ public func revokeFileSend(_ handler: @escaping IOTBluetooth.IBCompletionHandler)
+}
+public protocol IBPeripheralUUID {
+ var uuid: Foundation.UUID { get }
+}
+extension Foundation.UUID : IOTBluetooth.IBPeripheralUUID {
+ public var uuid: Foundation.UUID {
+ get
+ }
+}
+public func == (lhs: (any IOTBluetooth.IBPeripheralUUID)?, rhs: (any IOTBluetooth.IBPeripheralUUID)?) -> Swift.Bool
+public class IBHistoryCalorieItem {
+ public var time: Swift.Int
+ public var value: Swift.Float
+ public init()
+ @objc deinit
+}
+public class IBSendMp3 : Swift.Codable {
+ public var filePath: Swift.String
+ public var name: Swift.String
+ public init()
+ @objc deinit
+ public func encode(to encoder: any Swift.Encoder) throws
+ required public init(from decoder: any Swift.Decoder) throws
+}
+@_hasMissingDesignatedInitializers public class IBMp3File : Swift.Codable {
+ @objc deinit
+ public func encode(to encoder: any Swift.Encoder) throws
+ required public init(from decoder: any Swift.Decoder) throws
+}
+public typealias IBDiscoverHandler = (_ peripheral: IOTBluetooth.IBPeripheral) -> Swift.Void
+public typealias IBCompleteHandler = (_ isSuccess: Swift.Bool) -> Swift.Void
+@_hasMissingDesignatedInitializers public class IBManager {
+ public static func initializationSDK()
+ public static var logs: [Swift.String] {
+ get
+ }
+ @objc deinit
+}
+extension IOTBluetooth.IBManager {
+ public static let version: Swift.String
+ public static var isDebug: Swift.Bool {
+ get
+ set
+ }
+}
+extension IOTBluetooth.IBManager {
+ public static func scan(_ option: IOTBluetooth.IBScanOption = .default, discoverHandler: @escaping IOTBluetooth.IBDiscoverHandler)
+ public static func stopScan()
+ public static func connect(_ peripheral: IOTBluetooth.IBPeripheral, completeHandler: @escaping IOTBluetooth.IBCompleteHandler)
+ public static func cancel(_ peripheral: IOTBluetooth.IBPeripheral)
+ public static var currentConnected: IOTBluetooth.IBPeripheral! {
+ get
+ }
+}
+public class IBPhoneInfo : Swift.Codable {
+ public var name: Swift.String
+ public var type: Swift.Int
+ public var mac: [Swift.Int]?
+ public init()
+ @objc deinit
+ public func encode(to encoder: any Swift.Encoder) throws
+ required public init(from decoder: any Swift.Decoder) throws
+}
+public class IBHistorySleepItem {
+ public var sleepId: Swift.Int
+ public var type: Swift.Int
+ public var startTime: Swift.Int
+ public var endTime: Swift.Int
+ public var totalSleep: IOTBluetooth.IBSleepTime
+ public var deepSleep: IOTBluetooth.IBSleepTime?
+ public var lightSleep: IOTBluetooth.IBSleepTime?
+ public var remSleep: IOTBluetooth.IBSleepTime?
+ public var awake: IOTBluetooth.IBSleepTime?
+ public var states: [IOTBluetooth.IBSleepState]?
+ public init()
+ @objc deinit
+}
+public struct IBSleepTime {
+ public var hour: Swift.Int
+ public var minute: Swift.Int
+ public init(hour: Swift.Int, minute: Swift.Int)
+}
+public struct IBSleepState {
+ public var time: Swift.Int
+ public var state: Swift.Int
+ public init(time: Swift.Int, state: Swift.Int)
+}
+public class IBAiResponse {
+ public var value: Swift.String
+ public init()
+ public var description: Swift.String {
+ get
+ }
+ @objc deinit
+}
+public class IBClock : Swift.Codable {
+ public var alarms: [IOTBluetooth.IBClockInfo]
+ public init()
+ @objc deinit
+ public func encode(to encoder: any Swift.Encoder) throws
+ required public init(from decoder: any Swift.Decoder) throws
+}
+public class IBClockInfo : Swift.Codable {
+ public var id: Swift.Int
+ public var hour: Swift.Int
+ public var minute: Swift.Int
+ public var enable: Swift.Int
+ public var `repeat`: [Swift.Int]
+ public init()
+ @objc deinit
+ public func encode(to encoder: any Swift.Encoder) throws
+ required public init(from decoder: any Swift.Decoder) throws
+}
+@_hasMissingDesignatedInitializers public class IBHeartRate {
+ public var rate: IOTBluetooth.IBHeartRateFrequency
+ public var state: Swift.Int
+ public var higherOrLower: Swift.Int
+ public var value: Swift.Int
+ public init()
+ @objc deinit
+}
+public enum IBHeartRateFrequency : Swift.Int {
+ case none
+ case min1
+ case min5
+ case min10
+ public init?(rawValue: Swift.Int)
+ public typealias RawValue = Swift.Int
+ public var rawValue: Swift.Int {
+ get
+ }
+}
+public class IBWeather : Swift.Codable {
+ public var address: IOTBluetooth.IBAddress
+ public var now: IOTBluetooth.IBWeatherNow
+ public var daily: [IOTBluetooth.IBWeatherInfo]
+ public init()
+ @objc deinit
+ public func encode(to encoder: any Swift.Encoder) throws
+ required public init(from decoder: any Swift.Decoder) throws
+}
+public class IBAddress : Swift.Codable {
+ public var city: Swift.String
+ public var subLocality: Swift.String
+ public var lat: Swift.Int
+ public var lon: Swift.Int
+ public var atm: Swift.Int
+ public init()
+ @objc deinit
+ public func encode(to encoder: any Swift.Encoder) throws
+ required public init(from decoder: any Swift.Decoder) throws
+}
+public class IBWeatherInfo : Swift.Codable {
+ public var fxDate: Swift.Int
+ public var iconDay: Swift.Int
+ public var textDay: Swift.String
+ public var tempMax: Swift.Int
+ public var tempMin: Swift.Int
+ public init()
+ @objc deinit
+ public func encode(to encoder: any Swift.Encoder) throws
+ required public init(from decoder: any Swift.Decoder) throws
+}
+public class IBWeatherNow : Swift.Codable {
+ public var temp: Swift.Int
+ public var iconNight: Swift.Int
+ public var textNight: Swift.String
+ public var windScale: Swift.String
+ public var humidity: Swift.Int
+ public var uvIndex: Swift.Int
+ public init()
+ @objc deinit
+ public func encode(to encoder: any Swift.Encoder) throws
+ required public init(from decoder: any Swift.Decoder) throws
+}
+extension Foundation.Data {
+ public var string: Swift.String? {
+ get
+ }
+}
+extension Swift.String {
+ public var data: Foundation.Data? {
+ get
+ }
+}
+public class IBSendOta : Swift.Codable {
+ public var filePath: Swift.String
+ public var major: Swift.Int
+ public var mid: Swift.Int
+ public var minor: Swift.Int
+ public var isForced: Swift.Int
+ public init()
+ @objc deinit
+ public func encode(to encoder: any Swift.Encoder) throws
+ required public init(from decoder: any Swift.Decoder) throws
+}
+@_hasMissingDesignatedInitializers public class IBOtaFile : Swift.Codable {
+ @objc deinit
+ public func encode(to encoder: any Swift.Encoder) throws
+ required public init(from decoder: any Swift.Decoder) throws
+}
+@_hasMissingDesignatedInitializers public class IBSleep {
+ public var sleepTimeSet: Swift.Int
+ public var sleepTime: IOTBluetooth.IBTimeItem?
+ public var getUpTime: IOTBluetooth.IBTimeItem?
+ public var alertBeforeMin20: Swift.Int
+ public init()
+ @objc deinit
+}
+public struct IBTimeItem {
+ public var hour: Swift.Int
+ public var minute: Swift.Int
+ public init(hour: Swift.Int, minute: Swift.Int)
+}
+@_hasMissingDesignatedInitializers public class IBScanOption {
+ @discardableResult
+ public func allowDuplicates(_ value: Swift.Bool) -> Self
+ @discardableResult
+ public func solicited(_ serviceUUIDs: [Swift.String]) -> Self
+ public static let `default`: IOTBluetooth.IBScanOption
+ public static var custom: IOTBluetooth.IBScanOption {
+ get
+ }
+ @objc deinit
+}
+public class IBHistoryStepItem {
+ public var time: Swift.Int
+ public var value: Swift.Int
+ public init()
+ @objc deinit
+}
+public struct LRC {
+ public static func calculateLRC(_ bytes: [Swift.UInt8]) -> Swift.UInt8
+ public static func calculate(_ bytes: [Swift.UInt8]) -> Swift.UInt8
+}
+public class IBDial {
+ public var UID: Swift.Int
+ public var theme: Swift.String?
+ public var batteryStyle: Swift.Int?
+ public var timeStyle: Swift.Int?
+ public var timeColor: Swift.Int?
+ public var files: [IOTBluetooth.IBDialFile]?
+ public init()
+ public var description: Swift.String {
+ get
+ }
+ @objc deinit
+}
+public class IBDialFile {
+ public var filePath: Swift.String
+ public var fileName: Swift.String
+ public init()
+ public var description: Swift.String {
+ get
+ }
+ @objc deinit
+}
+@_hasMissingDesignatedInitializers public class IBBloodOxygen {
+ public var rate: IOTBluetooth.IBBloodOxygenFrequency
+ public var state: Swift.Int
+ public var value: Swift.Int
+ public init()
+ @objc deinit
+}
+public enum IBBloodOxygenFrequency : Swift.Int {
+ case none
+ case min30
+ case hour1
+ case hour2
+ public init?(rawValue: Swift.Int)
+ public typealias RawValue = Swift.Int
+ public var rawValue: Swift.Int {
+ get
+ }
+}
+@_hasMissingDesignatedInitializers public class IBPeripheral {
+ public var rssi: Swift.Int {
+ get
+ }
+ public var peripheral: CoreBluetooth.CBPeripheral! {
+ get
+ }
+ public var macAddress: Swift.String {
+ get
+ }
+ public var advertisementData: [Swift.String : Any] {
+ get
+ }
+ public var uuid: Foundation.UUID! {
+ get
+ }
+ public var name: Swift.String {
+ get
+ }
+ public var softwareVersion: Swift.String {
+ get
+ }
+ public var battery: Swift.Int {
+ get
+ }
+ @objc deinit
+}
+public class IBEpo {
+ public var UID: Swift.Int
+ public var nameLength: Swift.Int
+ public var fileName: Swift.String
+ public var filePath: Swift.String
+ public init()
+ public var description: Swift.String {
+ get
+ }
+ @objc deinit
+}
+public enum IBLanguage : Swift.Int {
+ case chinese
+ case english
+ case japanese
+ case korean
+ case spanish
+ case russian
+ case croatian
+ case german
+ case portuguese
+ case french
+ case dutch
+ case italian
+ case czech
+ case greek
+ case hindi
+ case indonesian
+ case malaysian
+ case polish
+ case thai
+ case vietnamese
+ case finnish
+ case romanian
+ case turkish
+ public init?(rawValue: Swift.Int)
+ public typealias RawValue = Swift.Int
+ public var rawValue: Swift.Int {
+ get
+ }
+}
+extension IOTBluetooth.IBMotionMode : Swift.Equatable {}
+extension IOTBluetooth.IBMotionMode : Swift.Hashable {}
+extension IOTBluetooth.IBMotionMode : Swift.RawRepresentable {}
+extension IOTBluetooth.IBFile : Swift.Equatable {}
+extension IOTBluetooth.IBFile : Swift.Hashable {}
+extension IOTBluetooth.IBFile : Swift.RawRepresentable {}
+extension IOTBluetooth.IBAuxiliary : Swift.Equatable {}
+extension IOTBluetooth.IBAuxiliary : Swift.Hashable {}
+extension IOTBluetooth.IBAuxiliary : Swift.RawRepresentable {}
+extension IOTBluetooth.IBCode : Swift.Equatable {}
+extension IOTBluetooth.IBCode : Swift.Hashable {}
+extension IOTBluetooth.IBCode : Swift.RawRepresentable {}
+extension IOTBluetooth.IBTrainTargetType : Swift.Equatable {}
+extension IOTBluetooth.IBTrainTargetType : Swift.Hashable {}
+extension IOTBluetooth.IBTrainTargetType : Swift.RawRepresentable {}
+extension IOTBluetooth.IBFrequency : Swift.Equatable {}
+extension IOTBluetooth.IBFrequency : Swift.Hashable {}
+extension IOTBluetooth.IBFrequency : Swift.RawRepresentable {}
+extension IOTBluetooth.IBDuration : Swift.Equatable {}
+extension IOTBluetooth.IBDuration : Swift.Hashable {}
+extension IOTBluetooth.IBDuration : Swift.RawRepresentable {}
+extension IOTBluetooth.IBHeartRateFrequency : Swift.Equatable {}
+extension IOTBluetooth.IBHeartRateFrequency : Swift.Hashable {}
+extension IOTBluetooth.IBHeartRateFrequency : Swift.RawRepresentable {}
+extension IOTBluetooth.IBBloodOxygenFrequency : Swift.Equatable {}
+extension IOTBluetooth.IBBloodOxygenFrequency : Swift.Hashable {}
+extension IOTBluetooth.IBBloodOxygenFrequency : Swift.RawRepresentable {}
+extension IOTBluetooth.IBLanguage : Swift.Equatable {}
+extension IOTBluetooth.IBLanguage : Swift.Hashable {}
+extension IOTBluetooth.IBLanguage : Swift.RawRepresentable {}
--- /dev/null
+// swift-interface-format-version: 1.0
+// swift-compiler-version: Apple Swift version 5.9.2 effective-4.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5)
+// swift-module-flags: -target arm64-apple-ios13.0 -enable-objc-interop -enable-library-evolution -swift-version 4.2 -enforce-exclusivity=checked -O -module-name IOTBluetooth
+// swift-module-flags-ignorable: -enable-bare-slash-regex
+import CoreBluetooth
+import Foundation
+@_exported import IOTBluetooth
+import MixSdk
+import Swift
+import _Concurrency
+import _StringProcessing
+import _SwiftConcurrencyShims
+@_hasMissingDesignatedInitializers public class IBResponseModel {
+ @objc deinit
+}
+@_hasMissingDesignatedInitializers public class IBResponse : Swift.CustomStringConvertible {
+ public var code: IOTBluetooth.IBCode {
+ get
+ }
+ public var message: Swift.String {
+ get
+ }
+ public var isSuccess: Swift.Bool {
+ get
+ }
+ public var items: [Any] {
+ get
+ }
+ public var value: Any? {
+ get
+ }
+ public var description: Swift.String {
+ get
+ }
+ @objc deinit
+}
+public class IBHistoryStandItem {
+ public var time: Swift.Int
+ public init()
+ @objc deinit
+}
+public class IBVibrateConfig {
+ public var type: Swift.Int
+ public var systemValue: Swift.Int?
+ public var ringsValue: Swift.Int?
+ public var ringsState: Swift.Int?
+ public var vibrateState: Swift.Int?
+ public init()
+ @objc deinit
+}
+@_hasMissingDesignatedInitializers public class IBVibrateSound {
+ public var systemValue: Swift.Int
+ public var ringsValue: Swift.Int
+ public var mediaValue: Swift.Int
+ public var ringsState: Swift.Int
+ public var vibrateState: Swift.Int
+ public init()
+ @objc deinit
+}
+public class IBAddressBook {
+ public var gender: Swift.Int
+ public var name: Swift.String?
+ public var phoneNumbers: [IOTBluetooth.IBPhoneNumber]
+ public init()
+ public var description: Swift.String {
+ get
+ }
+ @objc deinit
+}
+public class IBPhoneNumber {
+ public var number: Swift.String
+ public var location: Swift.String?
+ public var `operator`: Swift.String?
+ public init()
+ public var description: Swift.String {
+ get
+ }
+ @objc deinit
+}
+public enum IBParameter {
+ case dialID(Swift.Int)
+ case action(Swift.Int)
+ case motionMode(IOTBluetooth.IBMotionMode)
+ case language(IOTBluetooth.IBLanguage)
+ case value(Swift.Int)
+ case file(IOTBluetooth.IBFile)
+ case targetStep(IOTBluetooth.IBTargetStep)
+ case sleep(IOTBluetooth.IBSleep)
+ case water(IOTBluetooth.IBWater)
+ case clock(IOTBluetooth.IBClock)
+ case heartRate(IOTBluetooth.IBHeartRate)
+ case bloodOxygen(IOTBluetooth.IBBloodOxygen)
+ case screen(IOTBluetooth.IBScreenConfig)
+ case vibrateSound(IOTBluetooth.IBVibrateConfig)
+ case otherTarget(IOTBluetooth.IBOtherTarget)
+ case trainTarget(IOTBluetooth.IBTrainTarget)
+ case sendPhone(IOTBluetooth.IBPhoneInfo)
+ case sendTime(IOTBluetooth.IBSendTime)
+ case auxiliary(IOTBluetooth.IBAuxiliary)
+ case userInfo(IOTBluetooth.IBUserInfo)
+ case weather(IOTBluetooth.IBWeather)
+ case addressBook([IOTBluetooth.IBAddressBook])
+ case epo([IOTBluetooth.IBEpo])
+ case ota(IOTBluetooth.IBOtaFile)
+ case MP3(IOTBluetooth.IBMp3File)
+ case dial(IOTBluetooth.IBDial)
+ case dialFile(IOTBluetooth.IBDialFile)
+ case deleteFile(IOTBluetooth.IBDeleteFile)
+ case fetchFils(IOTBluetooth.IBFile)
+ case aiValid(IOTBluetooth.IBAiValid)
+ case aiResponse(IOTBluetooth.IBAiResponse)
+}
+public enum IBMotionMode : Swift.Int {
+ case walking
+ case running
+ case ride
+ public init?(rawValue: Swift.Int)
+ public typealias RawValue = Swift.Int
+ public var rawValue: Swift.Int {
+ get
+ }
+}
+public enum IBFile : Swift.Int, Swift.Codable {
+ case ota
+ case mp3
+ case dial
+ case ota_w4
+ case epo
+ public init?(rawValue: Swift.Int)
+ public typealias RawValue = Swift.Int
+ public var rawValue: Swift.Int {
+ get
+ }
+}
+public enum IBAuxiliary : Swift.Int {
+ case sport
+ case heart
+ case bloodOxygen
+ case train
+ case tarinRecord
+ case compass
+ case weather
+ case music
+ case mobile
+ case record
+ case secondTimer
+ case timer
+ case clock
+ case bluetooth
+ case sleep
+ case setting
+ public init?(rawValue: Swift.Int)
+ public typealias RawValue = Swift.Int
+ public var rawValue: Swift.Int {
+ get
+ }
+}
+@_hasMissingDesignatedInitializers public class IBOtherTarget {
+ public var calorie: Swift.Int
+ public var mileage: Swift.Int
+ public var stand: Swift.Int
+ public var burning: Swift.Int
+ public var ringsState: Swift.Int
+ public var vibrateState: Swift.Int
+ public var noticeState: Swift.Int
+ public init()
+ @objc deinit
+}
+public class IBAbout : Swift.Codable {
+ public var code: Swift.Int
+ public var major: Swift.Int
+ public var mid: Swift.Int
+ public var minor: Swift.Int
+ public var macAddress: Swift.String
+ public init()
+ @objc deinit
+ public func encode(to encoder: any Swift.Encoder) throws
+ required public init(from decoder: any Swift.Decoder) throws
+}
+public class IBHistoryDistanceItem {
+ public var time: Swift.Int
+ public var value: Swift.Float
+ public init()
+ @objc deinit
+}
+@_hasMissingDesignatedInitializers public class IBHistoryBaseTrainingItem : Swift.Codable {
+ public var source: Swift.Int
+ public var otherType: Swift.Int?
+ public var trainingType: Swift.Int
+ public var star: Swift.Int
+ public var stop: Swift.Int
+ public var targetType: Swift.Int
+ public var target: Swift.Int
+ public var progress: Swift.Int
+ public var duration: Swift.Int
+ public var calorie: Swift.Int?
+ public var distance: Swift.Int?
+ public var heartRate: Swift.Int
+ public var step: Swift.Int?
+ public var trainingLevel: Swift.Int?
+ public var circle: Swift.Int?
+ public var elevation: Swift.Int?
+ @objc deinit
+ public func encode(to encoder: any Swift.Encoder) throws
+ required public init(from decoder: any Swift.Decoder) throws
+}
+public struct IBTrainingData {
+ public let startTime: Swift.Int
+ public let heartRate: Swift.Int
+ public let calorie: Swift.Int
+ public let distance: Swift.Int
+ public let stepCount: Swift.Int
+ public let intensity: Swift.Int
+ public var description: Swift.String {
+ get
+ }
+}
+public class IBDeleteFile : Swift.Codable {
+ public var fileType: IOTBluetooth.IBFile
+ public var uids: [Swift.Int]
+ public init()
+ public var description: Swift.String {
+ get
+ }
+ @objc deinit
+ public func encode(to encoder: any Swift.Encoder) throws
+ required public init(from decoder: any Swift.Decoder) throws
+}
+@_hasMissingDesignatedInitializers public class IBTarinState {
+ public var state: Swift.Int
+ public var duration: Swift.Int
+ public init()
+ public var description: Swift.String {
+ get
+ }
+ @objc deinit
+}
+public class IBAiValid {
+ public var isValid: Swift.Bool
+ public var key: Swift.String?
+ public init()
+ public var description: Swift.String {
+ get
+ }
+ @objc deinit
+}
+@_hasMissingDesignatedInitializers public class IBUserInfo {
+ public var age: Swift.Int
+ public var gender: Swift.Int
+ public var height: Swift.Int
+ public var weight: Swift.Int
+ public var step: Swift.Int
+ public var burning: Swift.Int
+ public var stand: Swift.Int
+ public var hourSystem: Swift.Int
+ public init()
+ public var description: Swift.String {
+ get
+ }
+ @objc deinit
+}
+public class IBHistoryHeartRateItem {
+ public var time: Swift.Int
+ public var value: Swift.Int
+ public init()
+ @objc deinit
+}
+public class IBHistoryBloodOxygenItem {
+ public var time: Swift.Int
+ public var value: Swift.Int
+ public init()
+ @objc deinit
+}
+extension IOTBluetooth.IBNotify {
+ public struct Name {
+ }
+}
+@_hasMissingDesignatedInitializers public class IBNotify {
+ @objc deinit
+}
+extension IOTBluetooth.IBManager {
+ public static func subscribe(_ name: IOTBluetooth.IBNotify.Name, observer: (any ObjectiveC.NSObjectProtocol)!, receive: @escaping (_ object: Any?, _ userInfo: [Swift.String : Any]) -> Swift.Void)
+ public static func remove(_ observer: any ObjectiveC.NSObjectProtocol)
+}
+extension IOTBluetooth.IBNotify.Name {
+ public static let connectStateDidChange: IOTBluetooth.IBNotify.Name
+ public static let takePhoto: IOTBluetooth.IBNotify.Name
+ public static let weather: IOTBluetooth.IBNotify.Name
+ public static let didFindDevice: IOTBluetooth.IBNotify.Name
+ public static let trainStateDidChanged: IOTBluetooth.IBNotify.Name
+ public static let trainingData: IOTBluetooth.IBNotify.Name
+}
+extension Swift.String {
+ public var binary: Swift.String {
+ get
+ }
+}
+extension Swift.Double {
+ public var upInt: Swift.Int {
+ get
+ }
+}
+extension Swift.Int {
+ public var bytes: [Swift.UInt8] {
+ get
+ }
+ public var byte: Swift.UInt8 {
+ get
+ }
+ public var byte2: [Swift.UInt8] {
+ get
+ }
+ public var byte3: [Swift.UInt8] {
+ get
+ }
+ public var byte4: [Swift.UInt8] {
+ get
+ }
+}
+extension Swift.BinaryInteger {
+ public var binaryString: Swift.String {
+ get
+ }
+}
+extension Swift.Array where Element == Swift.UInt8 {
+ public var int: Swift.Int {
+ get
+ }
+ public var data: Foundation.Data {
+ get
+ }
+}
+extension Foundation.Data {
+ public var bytes: [Swift.UInt8] {
+ get
+ }
+ public func joined(format: Swift.String = "%02x", _ separator: Swift.String = "") -> Swift.String
+ public func reversedJoined(format: Swift.String = "%02x", _ separator: Swift.String = "") -> Swift.String
+ public var int: Swift.Int {
+ get
+ }
+ public var lrc: Swift.UInt8 {
+ get
+ }
+}
+extension Swift.UInt8 {
+ public var int: Swift.Int {
+ get
+ }
+}
+public enum IBCode : Swift.Int, Swift.CustomStringConvertible {
+ public var description: Swift.String {
+ get
+ }
+ case success
+ case failure
+ case invalidParam
+ case parseError
+ case timeout
+ case unknow
+ public init?(rawValue: Swift.Int)
+ public typealias RawValue = Swift.Int
+ public var rawValue: Swift.Int {
+ get
+ }
+}
+@_hasMissingDesignatedInitializers public class IBFetchFile : Swift.Codable {
+ public init()
+ @objc deinit
+ public func encode(to encoder: any Swift.Encoder) throws
+ required public init(from decoder: any Swift.Decoder) throws
+}
+public class IBFetchDialItem : Swift.Codable {
+ public init()
+ @objc deinit
+ public func encode(to encoder: any Swift.Encoder) throws
+ required public init(from decoder: any Swift.Decoder) throws
+}
+public class IBFetchMp3Item : Swift.Codable {
+ public init()
+ @objc deinit
+ public func encode(to encoder: any Swift.Encoder) throws
+ required public init(from decoder: any Swift.Decoder) throws
+}
+public class IBTrainTarget : Swift.Codable {
+ public var type: IOTBluetooth.IBTrainTargetType
+ public var distance: Swift.Int?
+ public var calorie: Swift.Int?
+ public var time: Swift.Int?
+ public var step: Swift.Int?
+ public init()
+ @objc deinit
+ public func encode(to encoder: any Swift.Encoder) throws
+ required public init(from decoder: any Swift.Decoder) throws
+}
+public enum IBTrainTargetType : Swift.Int, Swift.Codable {
+ case distance
+ case calorie
+ case time
+ case step
+ public init?(rawValue: Swift.Int)
+ public typealias RawValue = Swift.Int
+ public var rawValue: Swift.Int {
+ get
+ }
+}
+public typealias IBCompletionHandler = (_ result: IOTBluetooth.IBResponse) -> Swift.Void
+public class IBSender {
+ public init()
+ @objc deinit
+}
+extension IOTBluetooth.IBSender {
+ @discardableResult
+ public func ability(_ value: IOTBluetooth.IBAbility) -> Self
+ @discardableResult
+ public func parameters(_ value: [IOTBluetooth.IBParameter]) -> Self
+ @discardableResult
+ public func response(_ handler: @escaping IOTBluetooth.IBCompletionHandler) -> Self
+}
+@_hasMissingDesignatedInitializers public class IBHistoryGps {
+ @objc deinit
+}
+public class IBHistoryGpsItem {
+ public var time: Swift.Int
+ public var lat: Swift.Int
+ public var lon: Swift.Int
+ public init()
+ @objc deinit
+}
+public class IBHistoryBurningItem {
+ public var time: Swift.Int
+ public var value: Swift.Int
+ public init()
+ @objc deinit
+}
+public class IBWater {
+ public var alertState: Swift.Int
+ public var alertType: Swift.Int
+ public var drinkingValue: Swift.Int
+ public var start: IOTBluetooth.IBTimeItem
+ public var end: IOTBluetooth.IBTimeItem
+ public var frequency: IOTBluetooth.IBFrequency
+ public init()
+ @objc deinit
+}
+public enum IBFrequency : Swift.Int {
+ case min30
+ case hour1
+ case hour2
+ case hour3
+ case none
+ public init?(rawValue: Swift.Int)
+ public typealias RawValue = Swift.Int
+ public var rawValue: Swift.Int {
+ get
+ }
+}
+@_hasMissingDesignatedInitializers public class IBAbility {
+ public var description: Swift.String {
+ get
+ }
+ @objc deinit
+}
+extension IOTBluetooth.IBAbility {
+ public static let userData: IOTBluetooth.IBAbility
+ public static let about: IOTBluetooth.IBAbility
+ public static let switchDial: IOTBluetooth.IBAbility
+ public static let deleteDial: IOTBluetooth.IBAbility
+ public static let fetchCurrentDialId: IOTBluetooth.IBAbility
+ public static let find: IOTBluetooth.IBAbility
+ public static let message: IOTBluetooth.IBAbility
+ public static let startSport: IOTBluetooth.IBAbility
+ public static let endSport: IOTBluetooth.IBAbility
+ public static let trainFrequency: IOTBluetooth.IBAbility
+ public static let trainPauseResume: IOTBluetooth.IBAbility
+ public static let language: IOTBluetooth.IBAbility
+ public static let fetchHeartRate: IOTBluetooth.IBAbility
+ public static let heartRate: IOTBluetooth.IBAbility
+ public static let fetchBloodOxygen: IOTBluetooth.IBAbility
+ public static let bloodOxygen: IOTBluetooth.IBAbility
+ public static let currentHeartRate: IOTBluetooth.IBAbility
+ public static let heartRateMode: IOTBluetooth.IBAbility
+ public static let heartRateHigh: IOTBluetooth.IBAbility
+ public static let takePhoto: IOTBluetooth.IBAbility
+ public static let restore: IOTBluetooth.IBAbility
+ public static let reboot: IOTBluetooth.IBAbility
+ public static let shutdown: IOTBluetooth.IBAbility
+ public static let fetchBattery: IOTBluetooth.IBAbility
+ public static let fetchClock: IOTBluetooth.IBAbility
+ public static let setClock: IOTBluetooth.IBAbility
+ public static let fetchDials: IOTBluetooth.IBAbility
+ public static let checkDialID: IOTBluetooth.IBAbility
+ public static let fetchWatchState: IOTBluetooth.IBAbility
+ public static let fetchScreen: IOTBluetooth.IBAbility
+ public static let screen: IOTBluetooth.IBAbility
+ public static let fetchVibrateSound: IOTBluetooth.IBAbility
+ public static let vibrateSound: IOTBluetooth.IBAbility
+ public static let auxiliary: IOTBluetooth.IBAbility
+ public static let fetchAuxiliary: IOTBluetooth.IBAbility
+ public static let fetchTargetStep: IOTBluetooth.IBAbility
+ public static let targetStep: IOTBluetooth.IBAbility
+ public static let fetchOtherTarget: IOTBluetooth.IBAbility
+ public static let targetOther: IOTBluetooth.IBAbility
+ public static let fetchSleep: IOTBluetooth.IBAbility
+ public static let sleep: IOTBluetooth.IBAbility
+ public static let fetchWater: IOTBluetooth.IBAbility
+ public static let water: IOTBluetooth.IBAbility
+ public static let unit: IOTBluetooth.IBAbility
+ public static let trainTarget: IOTBluetooth.IBAbility
+ public static let syncHeartRate: IOTBluetooth.IBAbility
+ public static let syncBloodOxygen: IOTBluetooth.IBAbility
+ public static let syncStepCount: IOTBluetooth.IBAbility
+ public static let syncFatBurning: IOTBluetooth.IBAbility
+ public static let syncStand: IOTBluetooth.IBAbility
+ public static let syncCalorie: IOTBluetooth.IBAbility
+ public static let syncDistance: IOTBluetooth.IBAbility
+ public static let syncTrain: IOTBluetooth.IBAbility
+ public static let syncSleep: IOTBluetooth.IBAbility
+ public static let syncGPS: IOTBluetooth.IBAbility
+ public static let sendSyncEnd: IOTBluetooth.IBAbility
+ public static let disk: IOTBluetooth.IBAbility
+ public static let sendPhone: IOTBluetooth.IBAbility
+ public static let sendTime: IOTBluetooth.IBAbility
+ public static let unpair: IOTBluetooth.IBAbility
+ public static let sendUnpair: IOTBluetooth.IBAbility
+ public static let sendWeather: IOTBluetooth.IBAbility
+ public static let addressBook: IOTBluetooth.IBAbility
+ public static let mp3: IOTBluetooth.IBAbility
+ public static let dial: IOTBluetooth.IBAbility
+ public static let deleteFile: IOTBluetooth.IBAbility
+ public static let deleteFiles: IOTBluetooth.IBAbility
+ public static let ota: IOTBluetooth.IBAbility
+ public static let revokeFileSend: IOTBluetooth.IBAbility
+ public static let fetchFiles: IOTBluetooth.IBAbility
+}
+public class IBScreenConfig {
+ public var type: Swift.Int
+ public var brightness: Swift.Int?
+ public var duration: IOTBluetooth.IBDuration?
+ public var wrist: Swift.Int?
+ public init()
+ @objc deinit
+}
+@_hasMissingDesignatedInitializers public class IBScreen {
+ public var brightness: Swift.Int
+ public var duration: IOTBluetooth.IBDuration
+ public var wrist: Swift.Int
+ public init()
+ @objc deinit
+}
+public enum IBDuration : Swift.Int {
+ case second5
+ case second10
+ case second15
+ case second30
+ case minute
+ case minute5
+ public init?(rawValue: Swift.Int)
+ public typealias RawValue = Swift.Int
+ public var rawValue: Swift.Int {
+ get
+ }
+}
+public class IBSendTime : Swift.Codable {
+ public var time: Swift.Int
+ public var week: Swift.Int
+ public var year: Swift.Int
+ public var month: Swift.Int
+ public var day: Swift.Int
+ public var hour: Swift.Int
+ public var minute: Swift.Int
+ public var second: Swift.Int
+ public init()
+ @objc deinit
+ public func encode(to encoder: any Swift.Encoder) throws
+ required public init(from decoder: any Swift.Decoder) throws
+}
+@_hasMissingDesignatedInitializers public class IBTargetStep {
+ public var value: Swift.Int
+ public var ring: Swift.Int
+ public var vibrate: Swift.Int
+ public var notice: Swift.Int
+ public init()
+ @objc deinit
+}
+public typealias IBProgressHandler = (_ total: Swift.Int, _ current: Swift.Int) -> Swift.Void
+public class IBFileSender {
+ public init()
+ @objc deinit
+}
+extension IOTBluetooth.IBFileSender {
+ @discardableResult
+ public func ota(_ info: IOTBluetooth.IBSendOta) -> Self
+ @discardableResult
+ public func mp3(_ info: IOTBluetooth.IBSendMp3) -> Self
+ public func dial(_ info: IOTBluetooth.IBDial) -> Self
+ @discardableResult
+ public func progress(_ value: @escaping IOTBluetooth.IBProgressHandler) -> Self
+ @discardableResult
+ public func response(_ handler: @escaping IOTBluetooth.IBCompletionHandler) -> Self
+ public func revokeFileSend(_ handler: @escaping IOTBluetooth.IBCompletionHandler)
+}
+public protocol IBPeripheralUUID {
+ var uuid: Foundation.UUID { get }
+}
+extension Foundation.UUID : IOTBluetooth.IBPeripheralUUID {
+ public var uuid: Foundation.UUID {
+ get
+ }
+}
+public func == (lhs: (any IOTBluetooth.IBPeripheralUUID)?, rhs: (any IOTBluetooth.IBPeripheralUUID)?) -> Swift.Bool
+public class IBHistoryCalorieItem {
+ public var time: Swift.Int
+ public var value: Swift.Float
+ public init()
+ @objc deinit
+}
+public class IBSendMp3 : Swift.Codable {
+ public var filePath: Swift.String
+ public var name: Swift.String
+ public init()
+ @objc deinit
+ public func encode(to encoder: any Swift.Encoder) throws
+ required public init(from decoder: any Swift.Decoder) throws
+}
+@_hasMissingDesignatedInitializers public class IBMp3File : Swift.Codable {
+ @objc deinit
+ public func encode(to encoder: any Swift.Encoder) throws
+ required public init(from decoder: any Swift.Decoder) throws
+}
+public typealias IBDiscoverHandler = (_ peripheral: IOTBluetooth.IBPeripheral) -> Swift.Void
+public typealias IBCompleteHandler = (_ isSuccess: Swift.Bool) -> Swift.Void
+@_hasMissingDesignatedInitializers public class IBManager {
+ public static func initializationSDK()
+ public static var logs: [Swift.String] {
+ get
+ }
+ @objc deinit
+}
+extension IOTBluetooth.IBManager {
+ public static let version: Swift.String
+ public static var isDebug: Swift.Bool {
+ get
+ set
+ }
+}
+extension IOTBluetooth.IBManager {
+ public static func scan(_ option: IOTBluetooth.IBScanOption = .default, discoverHandler: @escaping IOTBluetooth.IBDiscoverHandler)
+ public static func stopScan()
+ public static func connect(_ peripheral: IOTBluetooth.IBPeripheral, completeHandler: @escaping IOTBluetooth.IBCompleteHandler)
+ public static func cancel(_ peripheral: IOTBluetooth.IBPeripheral)
+ public static var currentConnected: IOTBluetooth.IBPeripheral! {
+ get
+ }
+}
+public class IBPhoneInfo : Swift.Codable {
+ public var name: Swift.String
+ public var type: Swift.Int
+ public var mac: [Swift.Int]?
+ public init()
+ @objc deinit
+ public func encode(to encoder: any Swift.Encoder) throws
+ required public init(from decoder: any Swift.Decoder) throws
+}
+public class IBHistorySleepItem {
+ public var sleepId: Swift.Int
+ public var type: Swift.Int
+ public var startTime: Swift.Int
+ public var endTime: Swift.Int
+ public var totalSleep: IOTBluetooth.IBSleepTime
+ public var deepSleep: IOTBluetooth.IBSleepTime?
+ public var lightSleep: IOTBluetooth.IBSleepTime?
+ public var remSleep: IOTBluetooth.IBSleepTime?
+ public var awake: IOTBluetooth.IBSleepTime?
+ public var states: [IOTBluetooth.IBSleepState]?
+ public init()
+ @objc deinit
+}
+public struct IBSleepTime {
+ public var hour: Swift.Int
+ public var minute: Swift.Int
+ public init(hour: Swift.Int, minute: Swift.Int)
+}
+public struct IBSleepState {
+ public var time: Swift.Int
+ public var state: Swift.Int
+ public init(time: Swift.Int, state: Swift.Int)
+}
+public class IBAiResponse {
+ public var value: Swift.String
+ public init()
+ public var description: Swift.String {
+ get
+ }
+ @objc deinit
+}
+public class IBClock : Swift.Codable {
+ public var alarms: [IOTBluetooth.IBClockInfo]
+ public init()
+ @objc deinit
+ public func encode(to encoder: any Swift.Encoder) throws
+ required public init(from decoder: any Swift.Decoder) throws
+}
+public class IBClockInfo : Swift.Codable {
+ public var id: Swift.Int
+ public var hour: Swift.Int
+ public var minute: Swift.Int
+ public var enable: Swift.Int
+ public var `repeat`: [Swift.Int]
+ public init()
+ @objc deinit
+ public func encode(to encoder: any Swift.Encoder) throws
+ required public init(from decoder: any Swift.Decoder) throws
+}
+@_hasMissingDesignatedInitializers public class IBHeartRate {
+ public var rate: IOTBluetooth.IBHeartRateFrequency
+ public var state: Swift.Int
+ public var higherOrLower: Swift.Int
+ public var value: Swift.Int
+ public init()
+ @objc deinit
+}
+public enum IBHeartRateFrequency : Swift.Int {
+ case none
+ case min1
+ case min5
+ case min10
+ public init?(rawValue: Swift.Int)
+ public typealias RawValue = Swift.Int
+ public var rawValue: Swift.Int {
+ get
+ }
+}
+public class IBWeather : Swift.Codable {
+ public var address: IOTBluetooth.IBAddress
+ public var now: IOTBluetooth.IBWeatherNow
+ public var daily: [IOTBluetooth.IBWeatherInfo]
+ public init()
+ @objc deinit
+ public func encode(to encoder: any Swift.Encoder) throws
+ required public init(from decoder: any Swift.Decoder) throws
+}
+public class IBAddress : Swift.Codable {
+ public var city: Swift.String
+ public var subLocality: Swift.String
+ public var lat: Swift.Int
+ public var lon: Swift.Int
+ public var atm: Swift.Int
+ public init()
+ @objc deinit
+ public func encode(to encoder: any Swift.Encoder) throws
+ required public init(from decoder: any Swift.Decoder) throws
+}
+public class IBWeatherInfo : Swift.Codable {
+ public var fxDate: Swift.Int
+ public var iconDay: Swift.Int
+ public var textDay: Swift.String
+ public var tempMax: Swift.Int
+ public var tempMin: Swift.Int
+ public init()
+ @objc deinit
+ public func encode(to encoder: any Swift.Encoder) throws
+ required public init(from decoder: any Swift.Decoder) throws
+}
+public class IBWeatherNow : Swift.Codable {
+ public var temp: Swift.Int
+ public var iconNight: Swift.Int
+ public var textNight: Swift.String
+ public var windScale: Swift.String
+ public var humidity: Swift.Int
+ public var uvIndex: Swift.Int
+ public init()
+ @objc deinit
+ public func encode(to encoder: any Swift.Encoder) throws
+ required public init(from decoder: any Swift.Decoder) throws
+}
+extension Foundation.Data {
+ public var string: Swift.String? {
+ get
+ }
+}
+extension Swift.String {
+ public var data: Foundation.Data? {
+ get
+ }
+}
+public class IBSendOta : Swift.Codable {
+ public var filePath: Swift.String
+ public var major: Swift.Int
+ public var mid: Swift.Int
+ public var minor: Swift.Int
+ public var isForced: Swift.Int
+ public init()
+ @objc deinit
+ public func encode(to encoder: any Swift.Encoder) throws
+ required public init(from decoder: any Swift.Decoder) throws
+}
+@_hasMissingDesignatedInitializers public class IBOtaFile : Swift.Codable {
+ @objc deinit
+ public func encode(to encoder: any Swift.Encoder) throws
+ required public init(from decoder: any Swift.Decoder) throws
+}
+@_hasMissingDesignatedInitializers public class IBSleep {
+ public var sleepTimeSet: Swift.Int
+ public var sleepTime: IOTBluetooth.IBTimeItem?
+ public var getUpTime: IOTBluetooth.IBTimeItem?
+ public var alertBeforeMin20: Swift.Int
+ public init()
+ @objc deinit
+}
+public struct IBTimeItem {
+ public var hour: Swift.Int
+ public var minute: Swift.Int
+ public init(hour: Swift.Int, minute: Swift.Int)
+}
+@_hasMissingDesignatedInitializers public class IBScanOption {
+ @discardableResult
+ public func allowDuplicates(_ value: Swift.Bool) -> Self
+ @discardableResult
+ public func solicited(_ serviceUUIDs: [Swift.String]) -> Self
+ public static let `default`: IOTBluetooth.IBScanOption
+ public static var custom: IOTBluetooth.IBScanOption {
+ get
+ }
+ @objc deinit
+}
+public class IBHistoryStepItem {
+ public var time: Swift.Int
+ public var value: Swift.Int
+ public init()
+ @objc deinit
+}
+public struct LRC {
+ public static func calculateLRC(_ bytes: [Swift.UInt8]) -> Swift.UInt8
+ public static func calculate(_ bytes: [Swift.UInt8]) -> Swift.UInt8
+}
+public class IBDial {
+ public var UID: Swift.Int
+ public var theme: Swift.String?
+ public var batteryStyle: Swift.Int?
+ public var timeStyle: Swift.Int?
+ public var timeColor: Swift.Int?
+ public var files: [IOTBluetooth.IBDialFile]?
+ public init()
+ public var description: Swift.String {
+ get
+ }
+ @objc deinit
+}
+public class IBDialFile {
+ public var filePath: Swift.String
+ public var fileName: Swift.String
+ public init()
+ public var description: Swift.String {
+ get
+ }
+ @objc deinit
+}
+@_hasMissingDesignatedInitializers public class IBBloodOxygen {
+ public var rate: IOTBluetooth.IBBloodOxygenFrequency
+ public var state: Swift.Int
+ public var value: Swift.Int
+ public init()
+ @objc deinit
+}
+public enum IBBloodOxygenFrequency : Swift.Int {
+ case none
+ case min30
+ case hour1
+ case hour2
+ public init?(rawValue: Swift.Int)
+ public typealias RawValue = Swift.Int
+ public var rawValue: Swift.Int {
+ get
+ }
+}
+@_hasMissingDesignatedInitializers public class IBPeripheral {
+ public var rssi: Swift.Int {
+ get
+ }
+ public var peripheral: CoreBluetooth.CBPeripheral! {
+ get
+ }
+ public var macAddress: Swift.String {
+ get
+ }
+ public var advertisementData: [Swift.String : Any] {
+ get
+ }
+ public var uuid: Foundation.UUID! {
+ get
+ }
+ public var name: Swift.String {
+ get
+ }
+ public var softwareVersion: Swift.String {
+ get
+ }
+ public var battery: Swift.Int {
+ get
+ }
+ @objc deinit
+}
+public class IBEpo {
+ public var UID: Swift.Int
+ public var nameLength: Swift.Int
+ public var fileName: Swift.String
+ public var filePath: Swift.String
+ public init()
+ public var description: Swift.String {
+ get
+ }
+ @objc deinit
+}
+public enum IBLanguage : Swift.Int {
+ case chinese
+ case english
+ case japanese
+ case korean
+ case spanish
+ case russian
+ case croatian
+ case german
+ case portuguese
+ case french
+ case dutch
+ case italian
+ case czech
+ case greek
+ case hindi
+ case indonesian
+ case malaysian
+ case polish
+ case thai
+ case vietnamese
+ case finnish
+ case romanian
+ case turkish
+ public init?(rawValue: Swift.Int)
+ public typealias RawValue = Swift.Int
+ public var rawValue: Swift.Int {
+ get
+ }
+}
+extension IOTBluetooth.IBMotionMode : Swift.Equatable {}
+extension IOTBluetooth.IBMotionMode : Swift.Hashable {}
+extension IOTBluetooth.IBMotionMode : Swift.RawRepresentable {}
+extension IOTBluetooth.IBFile : Swift.Equatable {}
+extension IOTBluetooth.IBFile : Swift.Hashable {}
+extension IOTBluetooth.IBFile : Swift.RawRepresentable {}
+extension IOTBluetooth.IBAuxiliary : Swift.Equatable {}
+extension IOTBluetooth.IBAuxiliary : Swift.Hashable {}
+extension IOTBluetooth.IBAuxiliary : Swift.RawRepresentable {}
+extension IOTBluetooth.IBCode : Swift.Equatable {}
+extension IOTBluetooth.IBCode : Swift.Hashable {}
+extension IOTBluetooth.IBCode : Swift.RawRepresentable {}
+extension IOTBluetooth.IBTrainTargetType : Swift.Equatable {}
+extension IOTBluetooth.IBTrainTargetType : Swift.Hashable {}
+extension IOTBluetooth.IBTrainTargetType : Swift.RawRepresentable {}
+extension IOTBluetooth.IBFrequency : Swift.Equatable {}
+extension IOTBluetooth.IBFrequency : Swift.Hashable {}
+extension IOTBluetooth.IBFrequency : Swift.RawRepresentable {}
+extension IOTBluetooth.IBDuration : Swift.Equatable {}
+extension IOTBluetooth.IBDuration : Swift.Hashable {}
+extension IOTBluetooth.IBDuration : Swift.RawRepresentable {}
+extension IOTBluetooth.IBHeartRateFrequency : Swift.Equatable {}
+extension IOTBluetooth.IBHeartRateFrequency : Swift.Hashable {}
+extension IOTBluetooth.IBHeartRateFrequency : Swift.RawRepresentable {}
+extension IOTBluetooth.IBBloodOxygenFrequency : Swift.Equatable {}
+extension IOTBluetooth.IBBloodOxygenFrequency : Swift.Hashable {}
+extension IOTBluetooth.IBBloodOxygenFrequency : Swift.RawRepresentable {}
+extension IOTBluetooth.IBLanguage : Swift.Equatable {}
+extension IOTBluetooth.IBLanguage : Swift.Hashable {}
+extension IOTBluetooth.IBLanguage : Swift.RawRepresentable {}
--- /dev/null
+framework module IOTBluetooth {
+ umbrella header "IOTBluetooth.h"
+ export *
+
+ module * { export * }
+}
+
+module IOTBluetooth.Swift {
+ header "IOTBluetooth-Swift.h"
+ requires objc
+}
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>files</key>
+ <dict>
+ <key>AIAudio.sbc</key>
+ <data>
+ RpFgliSugx7VRkEHRc78ZrqRreA=
+ </data>
+ <key>Headers/IOTBluetooth-Swift.h</key>
+ <data>
+ 4u7s3lgUU0ZRCs9KLo9RlIeeDdY=
+ </data>
+ <key>Headers/IOTBluetooth.h</key>
+ <data>
+ CrKsp3/hSXf2W2Rs1jwI971L6AA=
+ </data>
+ <key>Info.plist</key>
+ <data>
+ EhrQc/+GENRMda4/EH3YiGtlFfs=
+ </data>
+ <key>Modules/IOTBluetooth.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo</key>
+ <data>
+ Xd+6FadCG/e00/SbQiZBoH2ak4g=
+ </data>
+ <key>Modules/IOTBluetooth.swiftmodule/arm64-apple-ios.abi.json</key>
+ <data>
+ HI7hQPlR2SbqXr08cD3LuvrDx4Y=
+ </data>
+ <key>Modules/IOTBluetooth.swiftmodule/arm64-apple-ios.private.swiftinterface</key>
+ <data>
+ nZG5CM56VGfa2pCNjsFdMuyyyVg=
+ </data>
+ <key>Modules/IOTBluetooth.swiftmodule/arm64-apple-ios.swiftdoc</key>
+ <data>
+ N8uLFZexijo9zMeNDQmCESJERk0=
+ </data>
+ <key>Modules/IOTBluetooth.swiftmodule/arm64-apple-ios.swiftinterface</key>
+ <data>
+ nZG5CM56VGfa2pCNjsFdMuyyyVg=
+ </data>
+ <key>Modules/IOTBluetooth.swiftmodule/arm64-apple-ios.swiftmodule</key>
+ <data>
+ epeSFLhUak/AegK9lUEDoluhwhQ=
+ </data>
+ <key>Modules/module.modulemap</key>
+ <data>
+ pRm+64P7ZdWVtxHxqRuknKgapcg=
+ </data>
+ </dict>
+ <key>files2</key>
+ <dict>
+ <key>AIAudio.sbc</key>
+ <dict>
+ <key>hash2</key>
+ <data>
+ lug8RrnIKGI1YtMEMhWLfcDk+wMEUF5obxlr3Cxw6p8=
+ </data>
+ </dict>
+ <key>Headers/IOTBluetooth-Swift.h</key>
+ <dict>
+ <key>hash2</key>
+ <data>
+ Xd0LmXqn8nVUZTLM0kPVtRYwhJozURjexTerWZVZCg0=
+ </data>
+ </dict>
+ <key>Headers/IOTBluetooth.h</key>
+ <dict>
+ <key>hash2</key>
+ <data>
+ KtifMyVkNOlsgy1BY5TN2xjfY/5n6yI4GLJspf4NES4=
+ </data>
+ </dict>
+ <key>Modules/IOTBluetooth.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo</key>
+ <dict>
+ <key>hash2</key>
+ <data>
+ DRXHRqxqAPOF26Ykkyxp6NmW9t4nPg8ageaRVFnpqs8=
+ </data>
+ </dict>
+ <key>Modules/IOTBluetooth.swiftmodule/arm64-apple-ios.abi.json</key>
+ <dict>
+ <key>hash2</key>
+ <data>
+ 3QIWxXinIghXukooR3LOMtjmQpdasdHGmi+p6rioPTc=
+ </data>
+ </dict>
+ <key>Modules/IOTBluetooth.swiftmodule/arm64-apple-ios.private.swiftinterface</key>
+ <dict>
+ <key>hash2</key>
+ <data>
+ 0B82j99gBNGsxG1Oc3ZTTEeKVM85W/XVHIid5u+y8fU=
+ </data>
+ </dict>
+ <key>Modules/IOTBluetooth.swiftmodule/arm64-apple-ios.swiftdoc</key>
+ <dict>
+ <key>hash2</key>
+ <data>
+ SGmXdFXpzCNaYxdt/1oW3BFX5MXeNegzx42u3WXG6kg=
+ </data>
+ </dict>
+ <key>Modules/IOTBluetooth.swiftmodule/arm64-apple-ios.swiftinterface</key>
+ <dict>
+ <key>hash2</key>
+ <data>
+ 0B82j99gBNGsxG1Oc3ZTTEeKVM85W/XVHIid5u+y8fU=
+ </data>
+ </dict>
+ <key>Modules/IOTBluetooth.swiftmodule/arm64-apple-ios.swiftmodule</key>
+ <dict>
+ <key>hash2</key>
+ <data>
+ 1850HxTfSzyipId5RLpOidHTa4BMFtIxDbguSuZqTBs=
+ </data>
+ </dict>
+ <key>Modules/module.modulemap</key>
+ <dict>
+ <key>hash2</key>
+ <data>
+ oFH+JoszZH+8P329Q+m8Vqe6dNQeyY879pW0aT/2770=
+ </data>
+ </dict>
+ </dict>
+ <key>rules</key>
+ <dict>
+ <key>^.*</key>
+ <true/>
+ <key>^.*\.lproj/</key>
+ <dict>
+ <key>optional</key>
+ <true/>
+ <key>weight</key>
+ <real>1000</real>
+ </dict>
+ <key>^.*\.lproj/locversion.plist$</key>
+ <dict>
+ <key>omit</key>
+ <true/>
+ <key>weight</key>
+ <real>1100</real>
+ </dict>
+ <key>^Base\.lproj/</key>
+ <dict>
+ <key>weight</key>
+ <real>1010</real>
+ </dict>
+ <key>^version.plist$</key>
+ <true/>
+ </dict>
+ <key>rules2</key>
+ <dict>
+ <key>.*\.dSYM($|/)</key>
+ <dict>
+ <key>weight</key>
+ <real>11</real>
+ </dict>
+ <key>^(.*/)?\.DS_Store$</key>
+ <dict>
+ <key>omit</key>
+ <true/>
+ <key>weight</key>
+ <real>2000</real>
+ </dict>
+ <key>^.*</key>
+ <true/>
+ <key>^.*\.lproj/</key>
+ <dict>
+ <key>optional</key>
+ <true/>
+ <key>weight</key>
+ <real>1000</real>
+ </dict>
+ <key>^.*\.lproj/locversion.plist$</key>
+ <dict>
+ <key>omit</key>
+ <true/>
+ <key>weight</key>
+ <real>1100</real>
+ </dict>
+ <key>^Base\.lproj/</key>
+ <dict>
+ <key>weight</key>
+ <real>1010</real>
+ </dict>
+ <key>^Info\.plist$</key>
+ <dict>
+ <key>omit</key>
+ <true/>
+ <key>weight</key>
+ <real>20</real>
+ </dict>
+ <key>^PkgInfo$</key>
+ <dict>
+ <key>omit</key>
+ <true/>
+ <key>weight</key>
+ <real>20</real>
+ </dict>
+ <key>^embedded\.provisionprofile$</key>
+ <dict>
+ <key>weight</key>
+ <real>20</real>
+ </dict>
+ <key>^version\.plist$</key>
+ <dict>
+ <key>weight</key>
+ <real>20</real>
+ </dict>
+ </dict>
+</dict>
+</plist>
--- /dev/null
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 56;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ 1839DBDB2C18754600E33B6E /* galaxy.lzma in Resources */ = {isa = PBXBuildFile; fileRef = 1839DBD72C18754600E33B6E /* galaxy.lzma */; };
+ 1839DBDC2C18754600E33B6E /* 黄沙-名决.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = 1839DBD82C18754600E33B6E /* 黄沙-名决.mp3 */; };
+ 1839DBDD2C18754600E33B6E /* 大约在冬季.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = 1839DBD92C18754600E33B6E /* 大约在冬季.mp3 */; };
+ 184B94CE2BF610790042BEB3 /* IOTBluetooth.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 184B94CC2BF6102C0042BEB3 /* IOTBluetooth.framework */; };
+ 184B94CF2BF610790042BEB3 /* IOTBluetooth.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 184B94CC2BF6102C0042BEB3 /* IOTBluetooth.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
+ 185E9C392C255C460078C808 /* 20240604_155433_2_V1.0.1_20240618_113111_ota.fwpkg in Resources */ = {isa = PBXBuildFile; fileRef = 185E9C382C255C460078C808 /* 20240604_155433_2_V1.0.1_20240618_113111_ota.fwpkg */; };
+ 8A1DFF522B9EB4F800B735FF /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A1DFF512B9EB4F800B735FF /* AppDelegate.swift */; };
+ 8A1DFF562B9EB4F800B735FF /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A1DFF552B9EB4F800B735FF /* ViewController.swift */; };
+ 8A1DFF592B9EB4F900B735FF /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 8A1DFF572B9EB4F900B735FF /* Main.storyboard */; };
+ 8A1DFF5B2B9EB4F900B735FF /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 8A1DFF5A2B9EB4F900B735FF /* Assets.xcassets */; };
+ 8A1DFF5E2B9EB4F900B735FF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 8A1DFF5C2B9EB4F900B735FF /* LaunchScreen.storyboard */; };
+ 8A34B9272BA2AB66000F66BD /* ConnectViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A34B9262BA2AB66000F66BD /* ConnectViewController.swift */; };
+ 8A34B9292BA2AB86000F66BD /* LogViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A34B9282BA2AB86000F66BD /* LogViewController.swift */; };
+ 8A34B92B2BA2D446000F66BD /* BaseViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A34B92A2BA2D446000F66BD /* BaseViewController.swift */; };
+ 8A76B6092BA84C2B0016F2AB /* AbilityViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A76B6082BA84C2B0016F2AB /* AbilityViewController.swift */; };
+ 8A878FE02BA93CF1008C7F26 /* Datas.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A878FDF2BA93CF1008C7F26 /* Datas.swift */; };
+ 8A9F6ABE2BA0475100DA520F /* CoreBluetooth.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8A0A39C82B980CC2006A3B18 /* CoreBluetooth.framework */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXCopyFilesBuildPhase section */
+ 8A9F6AC62BA05CB500DA520F /* Embed Frameworks */ = {
+ isa = PBXCopyFilesBuildPhase;
+ buildActionMask = 2147483647;
+ dstPath = "";
+ dstSubfolderSpec = 10;
+ files = (
+ 184B94CF2BF610790042BEB3 /* IOTBluetooth.framework in Embed Frameworks */,
+ );
+ name = "Embed Frameworks";
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXCopyFilesBuildPhase section */
+
+/* Begin PBXFileReference section */
+ 1839DBD72C18754600E33B6E /* galaxy.lzma */ = {isa = PBXFileReference; lastKnownFileType = file; path = galaxy.lzma; sourceTree = "<group>"; };
+ 1839DBD82C18754600E33B6E /* 黄沙-名决.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = "黄沙-名决.mp3"; sourceTree = "<group>"; };
+ 1839DBD92C18754600E33B6E /* 大约在冬季.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = "大约在冬季.mp3"; sourceTree = "<group>"; };
+ 184B94CC2BF6102C0042BEB3 /* IOTBluetooth.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = IOTBluetooth.framework; sourceTree = "<group>"; };
+ 185E9C382C255C460078C808 /* 20240604_155433_2_V1.0.1_20240618_113111_ota.fwpkg */ = {isa = PBXFileReference; lastKnownFileType = file; path = 20240604_155433_2_V1.0.1_20240618_113111_ota.fwpkg; sourceTree = "<group>"; };
+ 8A0A39C82B980CC2006A3B18 /* CoreBluetooth.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreBluetooth.framework; path = System/Library/Frameworks/CoreBluetooth.framework; sourceTree = SDKROOT; };
+ 8A1DFF4F2B9EB4F800B735FF /* Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Example.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ 8A1DFF512B9EB4F800B735FF /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
+ 8A1DFF552B9EB4F800B735FF /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = "<group>"; };
+ 8A1DFF582B9EB4F900B735FF /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
+ 8A1DFF5A2B9EB4F900B735FF /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
+ 8A1DFF5D2B9EB4F900B735FF /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
+ 8A1DFF5F2B9EB4F900B735FF /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
+ 8A34B9262BA2AB66000F66BD /* ConnectViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConnectViewController.swift; sourceTree = "<group>"; };
+ 8A34B9282BA2AB86000F66BD /* LogViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LogViewController.swift; sourceTree = "<group>"; };
+ 8A34B92A2BA2D446000F66BD /* BaseViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BaseViewController.swift; sourceTree = "<group>"; };
+ 8A76B6082BA84C2B0016F2AB /* AbilityViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AbilityViewController.swift; sourceTree = "<group>"; };
+ 8A878FDF2BA93CF1008C7F26 /* Datas.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Datas.swift; sourceTree = "<group>"; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ 8A1DFF4C2B9EB4F800B735FF /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 184B94CE2BF610790042BEB3 /* IOTBluetooth.framework in Frameworks */,
+ 8A9F6ABE2BA0475100DA520F /* CoreBluetooth.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 1839DBD52C18754600E33B6E /* Resource */ = {
+ isa = PBXGroup;
+ children = (
+ 185E9C382C255C460078C808 /* 20240604_155433_2_V1.0.1_20240618_113111_ota.fwpkg */,
+ 1839DBD72C18754600E33B6E /* galaxy.lzma */,
+ 1839DBD82C18754600E33B6E /* 黄沙-名决.mp3 */,
+ 1839DBD92C18754600E33B6E /* 大约在冬季.mp3 */,
+ );
+ path = Resource;
+ sourceTree = "<group>";
+ };
+ 8A0A39B12B980BEF006A3B18 = {
+ isa = PBXGroup;
+ children = (
+ 184B94CC2BF6102C0042BEB3 /* IOTBluetooth.framework */,
+ 8A1DFF502B9EB4F800B735FF /* Example */,
+ 8A0A39BC2B980BEF006A3B18 /* Products */,
+ 8A0A39C72B980CC2006A3B18 /* Frameworks */,
+ );
+ sourceTree = "<group>";
+ };
+ 8A0A39BC2B980BEF006A3B18 /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 8A1DFF4F2B9EB4F800B735FF /* Example.app */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ 8A0A39C72B980CC2006A3B18 /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ 8A0A39C82B980CC2006A3B18 /* CoreBluetooth.framework */,
+ );
+ name = Frameworks;
+ sourceTree = "<group>";
+ };
+ 8A1DFF502B9EB4F800B735FF /* Example */ = {
+ isa = PBXGroup;
+ children = (
+ 1839DBD52C18754600E33B6E /* Resource */,
+ 8A1DFF512B9EB4F800B735FF /* AppDelegate.swift */,
+ 8A1DFF552B9EB4F800B735FF /* ViewController.swift */,
+ 8A34B9262BA2AB66000F66BD /* ConnectViewController.swift */,
+ 8A76B6082BA84C2B0016F2AB /* AbilityViewController.swift */,
+ 8A878FDF2BA93CF1008C7F26 /* Datas.swift */,
+ 8A34B92A2BA2D446000F66BD /* BaseViewController.swift */,
+ 8A34B9282BA2AB86000F66BD /* LogViewController.swift */,
+ 8A1DFF572B9EB4F900B735FF /* Main.storyboard */,
+ 8A1DFF5A2B9EB4F900B735FF /* Assets.xcassets */,
+ 8A1DFF5C2B9EB4F900B735FF /* LaunchScreen.storyboard */,
+ 8A1DFF5F2B9EB4F900B735FF /* Info.plist */,
+ );
+ path = Example;
+ sourceTree = "<group>";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+ 8A1DFF4E2B9EB4F800B735FF /* Example */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 8A1DFF622B9EB4F900B735FF /* Build configuration list for PBXNativeTarget "Example" */;
+ buildPhases = (
+ 8A1DFF4B2B9EB4F800B735FF /* Sources */,
+ 8A1DFF4C2B9EB4F800B735FF /* Frameworks */,
+ 8A1DFF4D2B9EB4F800B735FF /* Resources */,
+ 8A9F6AC62BA05CB500DA520F /* Embed Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = Example;
+ productName = Example;
+ productReference = 8A1DFF4F2B9EB4F800B735FF /* Example.app */;
+ productType = "com.apple.product-type.application";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ 8A0A39B22B980BEF006A3B18 /* Project object */ = {
+ isa = PBXProject;
+ attributes = {
+ BuildIndependentTargetsInParallel = 1;
+ LastSwiftUpdateCheck = 1500;
+ LastUpgradeCheck = 1500;
+ TargetAttributes = {
+ 8A1DFF4E2B9EB4F800B735FF = {
+ CreatedOnToolsVersion = 15.0;
+ };
+ };
+ };
+ buildConfigurationList = 8A0A39B52B980BEF006A3B18 /* Build configuration list for PBXProject "IOTBluetooth" */;
+ compatibilityVersion = "Xcode 14.0";
+ developmentRegion = en;
+ hasScannedForEncodings = 0;
+ knownRegions = (
+ en,
+ Base,
+ );
+ mainGroup = 8A0A39B12B980BEF006A3B18;
+ productRefGroup = 8A0A39BC2B980BEF006A3B18 /* Products */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ 8A1DFF4E2B9EB4F800B735FF /* Example */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ 8A1DFF4D2B9EB4F800B735FF /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 8A1DFF5E2B9EB4F900B735FF /* LaunchScreen.storyboard in Resources */,
+ 1839DBDC2C18754600E33B6E /* 黄沙-名决.mp3 in Resources */,
+ 8A1DFF5B2B9EB4F900B735FF /* Assets.xcassets in Resources */,
+ 8A1DFF592B9EB4F900B735FF /* Main.storyboard in Resources */,
+ 185E9C392C255C460078C808 /* 20240604_155433_2_V1.0.1_20240618_113111_ota.fwpkg in Resources */,
+ 1839DBDD2C18754600E33B6E /* 大约在冬季.mp3 in Resources */,
+ 1839DBDB2C18754600E33B6E /* galaxy.lzma in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ 8A1DFF4B2B9EB4F800B735FF /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 8A878FE02BA93CF1008C7F26 /* Datas.swift in Sources */,
+ 8A34B92B2BA2D446000F66BD /* BaseViewController.swift in Sources */,
+ 8A76B6092BA84C2B0016F2AB /* AbilityViewController.swift in Sources */,
+ 8A34B9272BA2AB66000F66BD /* ConnectViewController.swift in Sources */,
+ 8A1DFF562B9EB4F800B735FF /* ViewController.swift in Sources */,
+ 8A1DFF522B9EB4F800B735FF /* AppDelegate.swift in Sources */,
+ 8A34B9292BA2AB86000F66BD /* LogViewController.swift in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXVariantGroup section */
+ 8A1DFF572B9EB4F900B735FF /* Main.storyboard */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 8A1DFF582B9EB4F900B735FF /* Base */,
+ );
+ name = Main.storyboard;
+ sourceTree = "<group>";
+ };
+ 8A1DFF5C2B9EB4F900B735FF /* LaunchScreen.storyboard */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 8A1DFF5D2B9EB4F900B735FF /* Base */,
+ );
+ name = LaunchScreen.storyboard;
+ sourceTree = "<group>";
+ };
+/* End PBXVariantGroup section */
+
+/* Begin XCBuildConfiguration section */
+ 8A0A39C02B980BEF006A3B18 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
+ CLANG_ANALYZER_NONNULL = YES;
+ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_ENABLE_OBJC_WEAK = YES;
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_COMMA = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
+ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ COPY_PHASE_STRIP = NO;
+ CURRENT_PROJECT_VERSION = 1;
+ DEBUG_INFORMATION_FORMAT = dwarf;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
+ ENABLE_USER_SCRIPT_SANDBOXING = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu17;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "DEBUG=1",
+ "$(inherited)",
+ );
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+ GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 13.5;
+ LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
+ MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
+ MTL_FAST_MATH = YES;
+ ONLY_ACTIVE_ARCH = YES;
+ SDKROOT = iphoneos;
+ SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)";
+ SWIFT_OPTIMIZATION_LEVEL = "-Onone";
+ VERSIONING_SYSTEM = "apple-generic";
+ VERSION_INFO_PREFIX = "";
+ };
+ name = Debug;
+ };
+ 8A0A39C12B980BEF006A3B18 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
+ CLANG_ANALYZER_NONNULL = YES;
+ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_ENABLE_OBJC_WEAK = YES;
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_COMMA = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
+ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ COPY_PHASE_STRIP = NO;
+ CURRENT_PROJECT_VERSION = 1;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ ENABLE_NS_ASSERTIONS = NO;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_USER_SCRIPT_SANDBOXING = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu17;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+ GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 13.5;
+ LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
+ MTL_ENABLE_DEBUG_INFO = NO;
+ MTL_FAST_MATH = YES;
+ SDKROOT = iphoneos;
+ SWIFT_COMPILATION_MODE = wholemodule;
+ VALIDATE_PRODUCT = YES;
+ VERSIONING_SYSTEM = "apple-generic";
+ VERSION_INFO_PREFIX = "";
+ };
+ name = Release;
+ };
+ 8A1DFF602B9EB4F900B735FF /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
+ CODE_SIGN_STYLE = Automatic;
+ CURRENT_PROJECT_VERSION = 1001;
+ DEVELOPMENT_TEAM = M33X987285;
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(PROJECT_DIR)",
+ );
+ GENERATE_INFOPLIST_FILE = YES;
+ INFOPLIST_FILE = Example/Info.plist;
+ INFOPLIST_KEY_NSBluetoothAlwaysUsageDescription = "扫描智能手表需要开启蓝牙功能";
+ INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
+ INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen;
+ INFOPLIST_KEY_UIMainStoryboardFile = Main;
+ INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait;
+ INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown";
+ INFOPLIST_KEY_UIUserInterfaceStyle = Light;
+ IPHONEOS_DEPLOYMENT_TARGET = 13.5;
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ );
+ MARKETING_VERSION = 1.0.0;
+ PRODUCT_BUNDLE_IDENTIFIER = com.thisiot.IOTBluetooth.Example;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
+ SUPPORTS_MACCATALYST = NO;
+ SWIFT_EMIT_LOC_STRINGS = YES;
+ SWIFT_VERSION = 5.0;
+ TARGETED_DEVICE_FAMILY = 1;
+ };
+ name = Debug;
+ };
+ 8A1DFF612B9EB4F900B735FF /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
+ CODE_SIGN_STYLE = Automatic;
+ CURRENT_PROJECT_VERSION = 1001;
+ DEVELOPMENT_TEAM = M33X987285;
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(PROJECT_DIR)",
+ );
+ GENERATE_INFOPLIST_FILE = YES;
+ INFOPLIST_FILE = Example/Info.plist;
+ INFOPLIST_KEY_NSBluetoothAlwaysUsageDescription = "扫描智能手表需要开启蓝牙功能";
+ INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
+ INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen;
+ INFOPLIST_KEY_UIMainStoryboardFile = Main;
+ INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait;
+ INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown";
+ INFOPLIST_KEY_UIUserInterfaceStyle = Light;
+ IPHONEOS_DEPLOYMENT_TARGET = 13.5;
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ );
+ MARKETING_VERSION = 1.0.0;
+ PRODUCT_BUNDLE_IDENTIFIER = com.thisiot.IOTBluetooth.Example;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
+ SUPPORTS_MACCATALYST = NO;
+ SWIFT_EMIT_LOC_STRINGS = YES;
+ SWIFT_VERSION = 5.0;
+ TARGETED_DEVICE_FAMILY = 1;
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ 8A0A39B52B980BEF006A3B18 /* Build configuration list for PBXProject "IOTBluetooth" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 8A0A39C02B980BEF006A3B18 /* Debug */,
+ 8A0A39C12B980BEF006A3B18 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 8A1DFF622B9EB4F900B735FF /* Build configuration list for PBXNativeTarget "Example" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 8A1DFF602B9EB4F900B735FF /* Debug */,
+ 8A1DFF612B9EB4F900B735FF /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = 8A0A39B22B980BEF006A3B18 /* Project object */;
+}
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<Workspace
+ version = "1.0">
+ <FileRef
+ location = "self:">
+ </FileRef>
+</Workspace>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>IDEDidComputeMac32BitWarning</key>
+ <true/>
+</dict>
+</plist>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<array/>
+</plist>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<Bucket
+ uuid = "3E7E940C-0C97-40F4-A990-DDBAB66B37E1"
+ type = "1"
+ version = "2.0">
+</Bucket>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>SchemeUserState</key>
+ <dict>
+ <key>Example.xcscheme_^#shared#^_</key>
+ <dict>
+ <key>orderHint</key>
+ <integer>0</integer>
+ </dict>
+ <key>IOTBluetooth.xcscheme_^#shared#^_</key>
+ <dict>
+ <key>orderHint</key>
+ <integer>1</integer>
+ </dict>
+ </dict>
+</dict>
+</plist>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>SchemeUserState</key>
+ <dict>
+ <key>Example.xcscheme_^#shared#^_</key>
+ <dict>
+ <key>orderHint</key>
+ <integer>1</integer>
+ </dict>
+ <key>IOTBluetooth.xcscheme_^#shared#^_</key>
+ <dict>
+ <key>orderHint</key>
+ <integer>0</integer>
+ </dict>
+ </dict>
+</dict>
+</plist>
--- /dev/null
+//
+// IBKeeper.swift
+// UnifyBluetooth
+//
+// Created by yaozuopan on 2024/2/5.
+//
+
+import Foundation
+import CoreBluetooth
+
+class UBDevice: Codable {
+ let uuid: String
+ let name: String
+ let vendors: Int
+
+ var battery: Int
+ var rssi: Int
+
+ init(_ uuid: String, vendors: Int, name: String, battery: Int, rssi: Int) {
+ self.uuid = uuid
+ self.name = name
+ self.vendors = vendors
+ self.battery = battery
+ self.rssi = rssi
+ }
+}
+
+/// 数据保存
+struct IBKeeper {
+ static let saver = UserDefaults.standard
+
+ private static let serviceKey = "IBKeeper.Services"
+ private static let connectedKey = "IBKeeper.Connected"
+
+ /// 记录最新的连接设备
+ static func lastConnected(_ peripheral: IBPeripheral?) {
+ guard let peripheral = peripheral else { return }
+ addServices(peripheral.peripheral.services)
+ addConnected(peripheral)
+ }
+
+ /// 保存蓝牙服务特征
+ private static func addServices(_ services: [CBService]?) {
+ guard let services = services?.map({ $0.uuid.uuidString }) else { return }
+
+ var recordServices = saver.stringArray(forKey: serviceKey) ?? []
+ recordServices.append(contentsOf: services)
+ recordServices = Array(Set(recordServices))
+ saver.setValue(recordServices, forKey: serviceKey)
+ }
+
+ /// 记录已连接过的设备
+ private static func addConnected(_ peripheral: IBPeripheral) {
+ var recordConnected: [UBDevice] = []
+ if let jsonData = saver.data(forKey: connectedKey) {
+ recordConnected = JSON.decode([UBDevice].self, from: jsonData) ?? []
+ }
+
+ if let device = recordConnected.filter({ $0.uuid == peripheral.uuid.uuidString }).first {
+ device.battery = peripheral.battery
+ device.rssi = peripheral.rssi
+ } else {
+ recordConnected.append(UBDevice(peripheral.uuid.uuidString,
+ vendors: peripheral.vendors.rawValue,
+ name: peripheral.peripheral.name ?? "",
+ battery: peripheral.battery,
+ rssi: peripheral.rssi))
+ }
+
+ saver.setValue(recordConnected.jsonData, forKey: connectedKey)
+ }
+
+ /// 从已连接记录中移除已解绑设备
+ static func removeConnected(_ uuid: UUID?) {
+ guard let uuid = uuid else { return }
+
+ var recordConnected: [UBDevice] = []
+ if let jsonData = saver.data(forKey: connectedKey) {
+ recordConnected = JSON.decode([UBDevice].self, from: jsonData) ?? []
+ }
+
+ recordConnected.removeAll { $0.uuid == uuid.uuidString }
+ saver.setValue(recordConnected.jsonData, forKey: connectedKey)
+ }
+
+ /// 已连接过设备的服务特征列表
+ static var services: [CBUUID] {
+ (saver.stringArray(forKey: serviceKey) ?? []).map { CBUUID(string: $0) }
+ }
+
+ /// 已连接过的设备列表
+ static var connected: [IBPeripheral] {
+ guard let jsonData = saver.data(forKey: connectedKey) else { return [] }
+ let recordConnected = JSON.decode([UBDevice].self, from: jsonData) ?? []
+ return recordConnected.map {
+ IBPeripheral(nil, uuid: $0.uuid, name: $0.name, vendors: $0.vendors, rssi: $0.rssi, battery: $0.battery) }
+ }
+
+ /// 已连接过的设备UUID列表
+ static var connectedUUIDs: [UUID] {
+ guard let jsonData = saver.data(forKey: connectedKey) else { return [] }
+ return (JSON.decode([UBDevice].self, from: jsonData) ?? []).compactMap { UUID(uuidString: $0.uuid) }
+ }
+}
}
extension IBAiManager{
- func loginAction() {
- MixSdk.shared.isDebug = true
- let deviceId = "281106AFB0F7"
- let productKey = "HHosiYUNdG42t1cTgKOzIUPOvAVMI2QT"
- let password = "4FTYYyqtQfXrAVUAa3MfYQPtddBRZb"//注册获得的密码
-
- MixSdk.shared.auth.login(productKey:productKey,deviceId: deviceId, password: password){ token,error in
- if let err = error{
- Logger.log(err)
- }
- else{
- Logger.log("token = \(token!)")
- }
- }
- }
-
func receiveAiData(sbcData:Data){
let pcmData = MSAudioConvert.sbcTopcm(sbcData)
if pcmData.count == 0{
}
}
}
+
+extension IBAiManager{
+ func loginAction() {
+ MixSdk.shared.isDebug = true
+ let pwd = "aWGKrBWaijsKD5eEsVVU5rjWPI1sVy"//注册获得的密码
+ self.startLogin(password:pwd)
+ }
+ func startLogin(password:String) {
+ MixSdk.shared.isDebug = true
+ let deviceId = "281106AFB0F7"
+ let productKey = "HHosiYUNdG42t1cTgKOzIUPOvAVMI2QT"
+
+ MixSdk.shared.auth.login(productKey:productKey,deviceId: deviceId, password: password){[weak self] token,error in
+ if let err = error{
+ if case .reponseError(let code,let message) = err,code == 50021{
+ //50021是账号或密码错误.可以在这里调用注册,重新注册后,之前的密码会被覆盖,APP更新保存的新密码
+ self?.registerAction()
+ }
+ }
+ else{
+ print(token ?? "")
+ }
+ }
+ }
+ @objc func registerAction() {
+ let deviceId = "281106AFB0F7"
+ let productId = "pafOCKLiUbeVHbdZlddH"
+ let productKey = "HHosiYUNdG42t1cTgKOzIUPOvAVMI2QT"
+ MixSdk.shared.auth.register(productId: productId, productKey: productKey, deviceId: deviceId){[weak self] password,error in
+ if let pwd = password{
+ print(pwd)
+ //deviceId和password APP要确保这个一一对应。
+ self?.startLogin(password: pwd)
+ }
+ else{
+ print(error!)
+ }
+ }
+ }
+}
public extension IBManager {
/// SDK 版本号
- static let version: String = "1.0.22"
+ static let version: String = "1.0.23"
/// 默认为 false
static var isDebug: Bool = false {
didSet { Logger.isDebug = isDebug }